JRuby からAmazon Athena にデータ連携

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

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

Amazon Athena のデータにJDBC で接続

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

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

Amazon Athena 接続プロパティの取得・設定方法

それでは、早速Athena に接続していきましょう。

データに接続するには、以下の接続パラメータを指定します。

  • DataSource:接続するAmazon Athena データソース。
  • Database:接続するAmazon Athena データベース。
  • AWSRegion:Amazon Athena データがホストされているリージョン。
  • S3StagingDirectory:クエリの結果を保存するS3 フォルダ。

Database またはDataSource が設定されていない場合、CData 製品はAmazon Athena の利用可能なデータソースからすべてのデータベースのリスト化を試みます。そのため、両方のプロパティを設定することでCData 製品のパフォーマンスが向上します。

Amazon Athena の認証設定

CData 製品は幅広い認証オプションに対応しています。詳しくはヘルプドキュメントの「はじめに」を参照してみてください。

AWS キーを取得

IAM ユーザーの認証情報を取得するには、以下のステップお試しください。

  1. IAM コンソールにサインインします。
  2. ナビゲーションペインでユーザーを選択します。
  3. ユーザーのアクセスキーを作成または管理するには、ユーザーを選択してからセキュリティ認証情報タブに移動します。

AWS ルートアカウントの資格情報を取得するには、以下のステップをお試しください。

  1. ルートアカウントの認証情報を使用してAWS 管理コンソールにサインインします。
  2. アカウント名または番号を選択します。
  3. 表示されたメニューでMy Security Credentials を選択します。
  4. ルートアカウントのアクセスキーを管理または作成するには、Continue to Security Credentials をクリックし、[Access Keys]セクションを展開します。

その他の認証オプションについては、ヘルプドキュメントの「Amazon Athena への認証」を参照してください。

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

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

java -jar cdata.jdbc.amazonathena.jar

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

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

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

jdbc:amazonathena:AccessKey='a123';SecretKey='s123';Region='IRELAND';Database='sampledb';S3StagingDirectory='s3://bucket/staging/';

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

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

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

url = "jdbc:amazonathena:AccessKey='a123';SecretKey='s123';Region='IRELAND';Database='sampledb';S3StagingDirectory='s3://bucket/staging/';"
conn = java.sql.DriverManager.getConnection(url)
stmt = conn.createStatement
rs = stmt.executeQuery("SELECT Name, TotalDue FROM Customers")
while (rs.next) do
  puts rs.getString(1) + ' ' + rs.getString(2)
end

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

jruby -S AmazonAthenaSelect.rb

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

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

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

 ダウンロード

詳細:

Amazon Athena Icon Amazon Athena JDBC Driver お問い合わせ

Amazon Athena 連携のパワフルなJava アプリケーションを素早く作成して配布。