JRuby からAzure Synapse にデータ連携

加藤龍彦
加藤龍彦
デジタルマーケティング
リアルタイムAzure Synapse に連携するシンプルなJRuby アプリケーションを作成します。

JRuby はRuby プログラミング言語の高性能で安定した、完全にスレッド化されたJava 実装です。CData JDBC Driver for AzureSynapse を使用すると、JRuby からリアルタイムAzure Synapse へのデータ連携を簡単に実装できます。ここでは、Azure Synapse に接続し、クエリを実行して結果を表示する簡単なJRuby アプリを作成する方法を説明します。

Azure Synapse のデータにJDBC で接続

アプリを作成する前に、JDBC Driver のJAR ファイルのインストール場所をメモします。 (通常はC:\Program Files\CDatat\CData JDBC Driver for AzureSynapse\libにあります。)

JRuby は、JDBC をネイティブにサポートしているため、簡単にAzure Synapse に接続してSQL クエリを実行できます。java.sql.DriverManager クラスのgetConnection 関数を使用してJDBC 接続を初期化します。

Azure Synapse への接続

Azure Synapse データベースに接続するには、認証に加えて(下記参照)、次のプロパティを設定します。

  • Server:Azure を実行しているサーバー。Azure ポータルにログインして、[Azure Synapse Analytics]->[Select your database]->[Overview]->[Server name]に進むと確認できます。
  • Database[Azure Synapse Analytics]ページのAzure ポータルに表示されるデータベース名。

Azure Synapse への認証

Azure Synapse は、Entra ID(Azure AD)、Azure サービスプリンシパル、Managed Service Identity(MSI)、パスワード(デフォルト)、Azure Password を使用する認証をサポートします。

パスワードでAzure Synapse に直接認証するには、以下のプロパティを設定します。

  • AuthScheme:Password
  • User:認証するAzure Synapse ユーザー。
  • Password:認証するAzure Synapse ユーザーのパスワード。

その他の認証方法については、ヘルプドキュメント の「はじめに」セクションを参照してください。

ビルトイン接続文字列デザイナー

JDBC URL の構成については、Azure Synapse JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。

java -jar cdata.jdbc.azuresynapse.jar

接続プロパティを入力し、接続文字列をクリップボードにコピーします。

Using the built-in connection string designer to generate a JDBC URL (Salesforce is shown.)

以下はAzure Synapse の一般的なJDBC 接続文字列です。

jdbc:azuresynapse:User=myuser;Password=mypassword;Server=localhost;Database=Northwind;

Azure Synapse のデータへの接続性を持つJRuby アプリを作成

新しいRuby ファイル(例: AzureSynapseSelect.rb) を作成してテキストエディタで開き、次のコードをファイルにコピーします。

require 'java'
require 'rubygems'
require 'C:/Program Files/CData/CData JDBC Driver for AzureSynapse 2018/lib/cdata.jdbc.azuresynapse.jar'

url = "jdbc:azuresynapse:User=myuser;Password=mypassword;Server=localhost;Database=Northwind;"
conn = java.sql.DriverManager.getConnection(url)
stmt = conn.createStatement
rs = stmt.executeQuery("SELECT Id, ProductName FROM Products")
while (rs.next) do
  puts rs.getString(1) + ' ' + rs.getString(2)
end

ファイルが完成したら、コマンドラインからファイルを実行するだけでJRuby でAzure Synapse を表示できるようになります。

jruby -S AzureSynapseSelect.rb

SQL-92 クエリをAzure Synapse に書き込むと、Azure Synapse を独自のJRuby アプリケーションに素早く簡単に組み込むことができます。今すぐ無料トライアルをダウンロードしましょう。

はじめる準備はできましたか?

Azure Synapse Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Azure Synapse Icon Azure Synapse JDBC Driver お問い合わせ

Azure Synapse データを組み込んだパワフルなJava アプリケーションを短時間・低コストで作成して配布できます。