HANAコネクタ¶
HANAコネクタを使用すると、外部HANAデータベース内のテーブルのクエリと作成が可能です。これにより、HANAとHiveなど、異なるシステム間、または2つの異なるHANAインスタンス間のデータ結合に使用できます。
設定¶
HANAコネクタを設定するには、etc/catalog
に、例えばhana.properties
という名前のカタログプロパティファイルを作成し、HANAコネクタをhana
カタログとしてマウントします。
設定に合わせて接続プロパティを置き換えて、以下の内容でファイルを作成します。
connector.name=hana
connection-url=jdbc:sap://[serverName[\instanceName][:portNumber]]
connection-user=root
connection-password=secret
接続セキュリティ¶
JDBCドライバとコネクタは、自動的にトランスポート層セキュリティ(TLS)暗号化と証明書検証を使用します。これには、Hanaデータベースホストに適切なTLS証明書を設定する必要があります。
接続文字列で暗号化を有効にするには、encrypt
プロパティを使用します。
connection-url=jdbc:sap://<host>:<port>?encrypt=true;
connection-url
を使用して設定できるその他のSSL設定プロパティ。
SSL設定プロパティ¶
プロパティ名 |
説明 |
デフォルト |
---|---|---|
|
サーバーから提示されたSSL証明書を、指定されたトラストストアに対して検証する必要があることを示します。 |
|
|
トラストストアファイルのファイル形式(例: |
|
|
トラストストアファイルへのパス。 |
|
|
トラストストアのパスワード。 |
トラストストアを使用した接続文字列は、次の例のようになります。
connection-url=jdbc:sap://<host>:<port>?encrypt=true&validateCertificate=true&trustStore=path/to/truststore.jks&trustStorePassword=password&trustStoreType=jks
複数のHANAデータベースまたはサーバー¶
HANAコネクタは、HANAサーバー内の単一のデータベースのみにアクセスできます。複数のHANAデータベースを使用する場合、または複数のHANAインスタンスに接続する場合は、インスタンスごとに複数のカタログを設定する必要があります。
別のカタログを追加するには、別の名前(.properties
で終わるようにする)で別のプロパティファイルをetc/catalog
に追加します。例えば、プロパティファイルにsales.properties
という名前を付けた場合、Prestoは設定されたコネクタを使用してsales
という名前のカタログを作成します。
一般的な設定プロパティ¶
プロパティ名 |
説明 |
デフォルト |
---|---|---|
|
JDBCドライバのユーザー名である |
|
|
JDBCドライバのユーザーパスワードである |
|
|
データセットとテーブル名を大文字と小文字を区別せずに照合します。 |
|
|
リモートデータセットとテーブル名をキャッシュする期間。 |
|
HANAへのクエリ¶
HANAコネクタは、設定されたデータベースで指定されたユーザーに見えるすべてのスキーマにアクセスできます。次の例では、HANAカタログがhana
であると仮定します。
SHOW SCHEMAS
を実行して、使用可能なスキーマを確認できます。
SHOW SCHEMAS FROM hana;
web
という名前のスキーマがある場合、SHOW TABLES FROM web
を実行して、このスキーマ内のテーブルを確認できます。
SHOW TABLES FROM hana.web;
web
データベースのclicks
テーブルの列のリストは、次のいずれかの方法で確認できます。
DESCRIBE hana.web.clicks;
SHOW COLUMNS FROM hana.web.clicks;
最後に、web
スキーマのclicks
テーブルをクエリできます。
SELECT * FROM hana.web.clicks;
カタログプロパティファイルに別の名前を付けた場合は、上記の例でhana
の代わりにそのカタログ名を使用してください。
HANAコネクタの制限事項¶
次のSQL文はサポートされていません。