Amazon Neptune JDBC 接続 - Amazon Neptune

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Neptune JDBC 接続

Amazon Neptune は、openCypher、Gremlin、SQL-gremlin、SPARQLクエリをサポートしているオープンソース JDBC ドライバーをリリースしました。JDBC 接続により、Tableau などのビジネスインテリジェンス (BI) ツールを使用して Neptune に簡単に接続できます。Neptune で JDBC ドライバーを使用することに追加費用はかかりません。消費された Neptune リソースに対してのみお支払いいただきます。

ドライバーは JDBC 4.2 と互換性があり、少なくとも Java 8 が必要です。JDBC ドライバーの使用方法については、JDBC API ドキュメントを参照してください。

課題を提出したり、 GitHub 機能リクエストをオープンしたりできるこのプロジェクトには、ドライバーに関する詳細なドキュメントが含まれています。

Neptune JDBC トライバーの開始方法

Neptune JDBC ドライバーを使用して Neptune インスタンスに接続するには、JDBC ドライバーを Neptune DB クラスターと同じ VPC 内の Amazon EC2 インスタンスにデプロイするか、インスタンスが SSH トンネルまたはロードバランサーを介して利用可能である必要があります。SSH トンネルは、ドライバーの内部で設定することも、外部で設定することもできます。

ドライバーは、こちら からダウンロードできます。ドライバーは、次のような名前を持つ単一の JAR ファイルとしてパッケージ化されます。neptune-jdbc-1.0.0-all.jar。これを使用するには、JAR ファイルをアプリケーションの classpath に置きます。または、アプリケーションで Maven または Gradle を使用している場合は、適切な Maven または Gradle コマンドを使用して JAR からドライバーをインストールできます。

ドライバーは Neptune に接続するには、次のような形式で JDBC 接続 URL が必要です。

jdbc:neptune:(connection type)://(host);property=value;property=value;...;property=value

GitHub プロジェクト内の各クエリ言語のセクションでは、そのクエリ言語の JDBC 接続 URL に設定できるプロパティについて説明しています。

JAR ファイルがアプリケーションの classpath 内にある場合、その他の設定は必要ありません。JDBC DriverManager インターフェイスと Neptune 接続文字列を使用してドライバーを接続できます。たとえば、ポート 8182 の neptune-example.com エンドポイントから Neptune DB クラスターにアクセスできる場合、openCypher で次のように接続できます。

import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; void example() { String url = "jdbc:neptune:opencypher://bolt://neptune-example:8182"; Connection connection = DriverManager.getConnection(url); Statement statement = connection.createStatement(); connection.close(); }

GitHub プロジェクト内の各クエリ言語のドキュメントセクションには、そのクエリ言語を使用する場合の接続文字列の作成方法が説明されています。

Neptune JDBC ドライバーで Tableau を使用する

Neptune JDBC ドライバーで Tableau を使用するには、まず Tableau デスクトップの最新バージョンをダウンロードしてインストールします。Neptune JDBC ドライバー用の JAR ファイルと Neptune Tableau コネクタファイル (.taco) をダウンロードします。

Mac で Tableau for Neptune に接続するには
  1. Neptune JDBC ドライバー JAR ファイルを /Users/(your user name)/Library/Tableau/Drivers フォルダに置きます。

  2. Neptune Tableau コネクタ .taco ファイルを /Users/(your user name)/Documents/My Tableau Repository/Connectors フォルダに置きます。

  3. IAM 認証が有効になっている場合は、その環境を設定します。環境変数が.zprofile/.zshenv/.bash_profileなどで設定されている機能しないことに注意してください。環境変数は、GUI アプリケーションで読み込めるように設定する必要があります。

    認証情報を設定する 1 つの方法は、アクセスキーおよびシークレットキーを /Users/(your user name)/.aws/credentials ファイルに置くことです。

    サービスリージョンを簡単に設定するには、ターミナルを開き、アプリケーションのリージョンを使用して次のコマンドを入力します(たとえば、us-east-1)。

    launchctl setenv SERVICE_REGION region name

    再起動後も持続する環境変数を設定する方法は他にもありますが、どの方法を使用する場合でも、GUI アプリケーションからアクセス可能な変数を設定する必要があります。

  4. Mac の GUI に環境変数をロードするには、ターミナルで次のコマンドを入力します。

    /Applications/Tableau/Desktop/2021.1.app/Contents/MacOS/Tableau
Windows マシンで Tableau for Neptune に接続するには
  1. Neptune JDBC ドライバー JAR ファイルを C:\Program Files\Tableau\Drivers フォルダに置きます。

  2. Neptune Tableau コネクタ .taco ファイルを C:\Users\(your user name)\Documents\My Tableau Repository\Connectors フォルダに置きます。

  3. IAM 認証が有効になっている場合は、その環境を設定します。

    これは、ユーザーのACCESS_KEYSECRET_KEY、およびSERVICE_REGION環境変数設定と同じくらいシンプルです。

Tableau を開いた状態で、MOREウィンドウの左側にあります。Tableau コネクタファイルが適切に配置されている場合は、表示されたリストでAmazon Neptune を AWSでを選択します。

Tableau での SQL の選択

ポートを編集したり、接続オプションを追加したりする必要はありません。Neptune エンドポイントを入力し、IAM と SSL の設定を設定します(IAM を使用している場合は SSL を有効にする必要があります)。

選択した場合サインインの場合、グラフが大きい場合、接続に 30 秒以上かかることがあります。Tableau では、頂点テーブルとエッジのテーブルを収集し、エッジ上の頂点を結合し、ビジュアライゼーションを作成しています。

JDBC ドライバー接続のトラブルシューティング

ドライバーがサーバーに接続できない場合は、JDBC Connection オブジェクトの isValid 関数を使用して、接続が有効かどうかをチェックします。関数が false を返した場合、接続が無効であることを示します。接続先のエンドポイントが正しいこと、および Neptune DB クラスターの VPC にいること、またはクラスターへの有効な SSH トンネルがあることを確認します。

DriverManager.getConnection を呼び出して No suitable driver found for (connection string) の応答があれば、接続文字列の先頭に問題がある可能性があります。接続文字列が次のように始まっていることを確認してください。

jdbc:neptune:opencypher://...

接続に関する詳細情報を収集するには、LogLevel 接続文字列を次のようにします。

jdbc:neptune:opencypher://(JDBC URL):(port);logLevel=trace

または、入力プロパティに properties.put("logLevel", "trace") を追加してトレース情報を記録します。