Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

JDBC 3.x ドライバーの使用を開始する

フォーカスモード
JDBC 3.x ドライバーの使用を開始する - Amazon Athena

このセクションの情報を使用して Amazon Athena JDBC 3.x ドライバーを開始します。

インストール手順

JDBC 3.x ドライバーは、カスタムアプリケーションまたはサードパーティの SQL クライアントで使用できます。

カスタムアプリケーションの場合

ドライバー jar とその依存関係を含む .zip ファイルをダウンロードします。依存関係にはそれぞれ独自の .jar ファイルがあります。ドライバー jar を依存関係としてカスタムアプリケーションに追加します。別のソースからアプリケーションにその依存関係を既に追加しているかどうかに基づいて、ドライバー jar の依存関係を選択的に追加します。

サードパーティ製 SQL クライアントの場合

ドライバーの uber jar ファイルをダウンロードし、サードパーティ SQL クライアントの指示に従ってそのクライアントに追加します。

ドライバーの実行

ドライバーを実行するには、カスタムアプリケーションまたはサードパーティの SQL クライアントを使用できます。

カスタムアプリケーションの場合

JDBC インターフェイスを使用してプログラムから JDBC ドライバーを操作します。次のコードは、カスタム Java アプリケーションの例を示しています。

public static void main(String args[]) throws SQLException { Properties connectionParameters = new Properties(); connectionParameters.setProperty("Workgroup", "primary"); connectionParameters.setProperty("Region", "us-east-2"); connectionParameters.setProperty("Catalog", "AwsDataCatalog"); connectionParameters.setProperty("Database","sampledatabase"); connectionParameters.setProperty("OutputLocation","s3://amzn-s3-demo-bucket"); connectionParameters.setProperty("CredentialsProvider","DefaultChain"); String url = "jdbc:athena://"; AthenaDriver driver = new AthenaDriver(); Connection connection = driver.connect(url, connectionParameters); Statement statement = connection.createStatement(); String query = "SELECT * from sample_table LIMIT 10"; ResultSet resultSet = statement.executeQuery(query); printResults(resultSet); // A custom-defined method for iterating over a // result set and printing its contents }

サードパーティ製 SQL クライアントの場合

使用している SQL クライアントのマニュアルに従ってください。通常は、SQL クライアントのグラフィカルユーザーインターフェイスを使用してクエリを入力および送信します。クエリ結果は同じインターフェイスに表示されます。

ドライバーの設定

接続パラメータを使用して Amazon Athena JDBC ドライバーを設定できます。サポートされている接続パラメータについては、「Amazon Athena JDBC 3.x 接続パラメータ」を参照してください。

カスタムアプリケーションの場合

カスタムアプリケーションの JDBC ドライバーの接続パラメータを設定するには、次のいずれかの操作を行います。

  • パラメータ名およびその値を Properties オブジェクトに追加します。Connection#connect を呼び出すとき、そのオブジェクトを URL と一緒に渡します。例については、ドライバーの実行 のサンプルの Java アプリケーションを参照してください。

  • 接続文字列 (URL) では、次の形式を使用してパラメータ名およびその値をプロトコルプレフィックスの直後に追加します。

    <parameterName>=<parameterValue>;

    次の例のように、各パラメーター名/パラメータ値のペアの末尾にはセミコロンを使用します。セミコロンの後には、空白を入れないでください。

    String url = "jdbc:athena://WorkGroup=primary;Region=us-east-1;...;";AthenaDriver driver = new AthenaDriver();Connection connection = driver.connect(url, null);
    注記

    パラメータを接続文字列および Properties オブジェクトの両方で指定する場合、接続文字列の値が優先されます。両方に同じパラメータを指定することはお勧めしません。

  • 次の例のように、パラメータ値を引数として AthenaDataSource のメソッドに追加します。

    AthenaDataSource dataSource = new AthenaDataSource(); dataSource.setWorkGroup("primary"); dataSource.setRegion("us-east-2"); ... Connection connection = dataSource.getConnection(); ...

サードパーティ製 SQL クライアントの場合

使用している SQL クライアントの指示に従ってください。通常、クライアントはパラメータ名とその値を入力するグラフィカルユーザーインターフェイスを用意します。

Athena JDBC v2 ドライバーからのアップグレード

JDBC バージョン 3 の接続パラメータのほとんどは、バージョン 2 (Simba) JDBC ドライバーとの下位互換性があります。つまり、バージョン 2 の接続文字列はバージョン 3 のドライバーで再利用できることを意味します。ただし、一部の接続パラメータは変更されています。これらの変更は本書で説明されています。バージョン 3 の JDBC ドライバーにアップグレードするときは、必要に応じて既存の設定を更新してください。

ドライバークラス

一部の BI ツールでは、JDBC ドライバー .jar ファイルからドライバークラスを指定するように求められます。ほとんどのツールはこのクラスを自動的に見つけます。バージョン 3 ドライバーのクラスの完全修飾名は com.amazon.athena.jdbc.AthenaDriver です。バージョン 2 ドライバーでは、クラスは com.simba.athena.jdbc.Driver でした。

接続文字列

バージョン 3 ドライバーは、JDBC 接続文字列 URL の先頭にあるプロトコルに jdbc:athena:// を使用します。バージョン 3 ドライバーはバージョン 2 プロトコル jdbc:awsathena:// もサポートしていますが、バージョン 2 プロトコルの使用は非推奨になっています。定義されていない動作を避けるため、バージョン 3 は、バージョン 2 (または jdbc:awsathena:// で始まる接続文字列を受け入れるその他のドライバー) が DriverManager クラスで登録されている場合、jdbc:awsathena:// で始まる接続文字列を受け入れません。

認証情報プロバイダー

バージョン 2 ドライバーは、完全修飾名を使用してさまざまな認証情報プロバイダー (例: com.simba.athena.amazonaws.auth.DefaultAWSCredentialsProviderChain) を特定します。バージョン 3 ドライバーは短い名前 (例: DefaultChain) を使用します。新しい名前は、各認証情報プロバイダーの対応するセクションで説明されています。

以前の AWS SDK for Java から AWSCredentialsProvider インターフェイスを実装するのではなく、新しい AWS SDK for Java から AwsCredentialsProvider インターフェイスを実装するには、バージョン 2 ドライバー用に作成されたカスタム認証情報プロバイダーをバージョン 3 ドライバー用に変更する必要があります。

PropertiesFileCredentialsProvider は、JDBC 3.x ドライバーではサポートされていません。このプロバイダーは JDBC 2.x ドライバーで使用されていましたが、サポート終了間近の AWS SDK for Java の以前のバージョンに属しています。JDBC 3.x ドライバーで同じ機能を実現するには、代わりに AWS 設定プロファイルの認証情報 プロバイダーを使用してください。

ログレベル

次のテーブルには、JDBC バージョン 2 とバージョン 3 のドライバーにある LogLevel パラメータの違いが示されています。

JDBC ドライバーバージョン パラメータ名 パラメータタイプ デフォルト値 使用できる値 接続文字列の例
v2 LogLevel オプションです。 0 0~6 LogLevel=6;
v3 LogLevel オプションです。 TRACE OFF、ERROR、WARN、INFO、DEBUG、TRACE LogLevel=INFO;

クエリ ID の取得

バージョン 2 ドライバーでは、Statement インスタンスを com.interfaces.core.IStatementQueryInfoProvider にアンラップします。これは #getPReparedQueryId および #getQueryId の 2 つのメソッドを持つインターフェイスです。これらのメソッドを使用し、実行されたクエリのクエリ実行 ID を取得できます。

バージョン 3 ドライバーでは、StatementPreparedStatementResultSet インスタンスを com.amazon.athena.jdbc.AthenaResultSet インターフェイスにアンラップします。このインターフェイスには #getQueryExecutionId という 1 つのメソッドがあります。

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.