各製品の資料を入手。
詳細はこちら →Ruby でAzure Data Lake Storage のデータ連携アプリを構築
Ruby でODBC 経由でAzure Data Lake Storage に接続して、モダンなクラウド連携アプリを開発。
最終更新日:2022-09-03
この記事で実現できるAzure Data Lake Storage 連携のシナリオ
こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。
CData ODBC Driver for ADLS を使うと、簡単にRuby アプリケーションにリアルタイムAzure Data Lake Storage のデータを連携・統合できます。 この記事では、Azure Data Lake Storage のデータにリアルタイムに連携するRuby アプリケーションを構築して、クエリを実行し、結果を表示してみます。
CData ODBC ドライバとは?
CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。
- Azure Data Lake Storage をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレミスデータソースに対応
- 多様なアプリケーション、ツールにAzure Data Lake Storage のデータを連携
- ノーコードでの手軽な接続設定
- 標準 SQL での柔軟なデータ読み込み・書き込み
CData ODBC ドライバでは、1.データソースとしてAzure Data Lake Storage の接続を設定、2.Ruby 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
CData ODBC ドライバのインストールとAzure Data Lake Storage への接続設定
まずは、本記事右側のサイドバーからADLS ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
通常はCData ODBC ドライバのインストール後にODBC DSN 接続ウィザードが立ち上がり、設定を行うことができます。 もしODBC DSN 接続が未済の場合には、Microsoft ODBC データソースアドミニストレータでODBC DSN を作成および設定することができます。
Azure Data Lake Storage 接続プロパティの取得・設定方法
Azure Data Lake Storage Gen 2 への接続
Gen 2 Data Lake Storage アカウントに接続するには、以下のプロパティを設定します。
- Account:ストレージアカウントの名前。
- FileSystem:このアカウントに使用されるファイルシステム名。例えば、Azure Blob コンテナの名前。
- Directory(オプション):レプリケートされたファイルが保存される場所へのパス。パスが指定されない場合、ファイルはルートディレクトリに保存されます。
Azure Data Lake Storage Gen 2 への認証
本製品は、次の4つの認証方法をサポートします:アクセスキーの使用、共有アクセス署名の使用、Azure Active Directory OAuth(AzureAD)、Managed Service Identity(AzureMSI)。
アクセスキー
アクセスキーを使用して接続するには、はじめにADLS Gen2 ストレージアカウントで利用可能なアクセスキーを取得する必要があります。Azure ポータルで:
- ADLS Gen2 ストレージアカウントにアクセスします。
- 設定でアクセスキーを選択します。
- 利用可能なアクセスキーの1つの値をAccessKey 接続プロパティにコピーします。
- AuthScheme:AccessKey。
- AccessKey:先にAzure ポータルで取得したアクセスキーの値。
接続の準備ができたら、次のプロパティを設定します。
共有アクセス署名(SAS)
共有アクセス署名を使用して接続するには、はじめにAzure Storage Explorer ツールを使用して署名を生成する必要があります。
接続の準備ができたら、次のプロパティを設定します。
- AuthScheme:SAS。
- SharedAccessSignature:先に生成した共有アクセス署名の値。
AzureAD、AzureMSI での認証方法については、ヘルプドキュメントの「Azure Data Lake Storage Gen 2 への認証」セクションを参照してください。
Ruby および必要なGem のインストール
Ruby をまだインストールしていない場合は、Ruby インストールページを参考にインストールしてください。 Ruby をインストールしたら、次にruby-dbi、dbd-odbc、ruby-odbc gems をインストールします。
gem install dbi
gem install dbd-odbc
gem install ruby-odbc
Azure Data Lake Storage のデータに連携するRuby アプリケーションの作成
Ruby ファイル (例: ADLSSelect.rb) を作成し、テキストエディタで開きます。ファイルに次のコードをコピーします:
#connect to the DSN
require 'DBI'
cnxn = DBI.connect('DBI:ODBC:CData ADLS Source','','')
#execute a SELECT query and store the result set
resultSet = cnxn.execute("SELECT FullPath, Permission FROM Resources WHERE Type = 'FILE'")
#display the names of the columns
resultSet.column_names.each do |name|
print name, "\t"
end
puts
#display the results
while row = resultSet.fetch do
(0..resultSet.column_names.size - 1).each do |n|
print row[n], "\t"
end
puts
end
resultSet.finish
#close the connection
cnxn.disconnect if cnxn
これで、Ruby からAzure Data Lake Storage のデータへ接続できるようになります。簡単にコマンドラインからファイルを叩いて接続を確認してみましょう。
ruby ADLSSelect.rb
Azure Data Lake Storage からRuby へのデータ連携には、ぜひCData ODBC ドライバをご利用ください
このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。
CData ODBC ドライバは日本のユーザー向けに、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。