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設定プロパティ

プロパティ名

説明

デフォルト

validateCertificate

サーバーから提示されたSSL証明書を、指定されたトラストストアに対して検証する必要があることを示します。

true

trustStoreType

トラストストアファイルのファイル形式(例:JKS)。

trustStore

トラストストアファイルへのパス。

trustStorePassword

トラストストアのパスワード。

トラストストアを使用した接続文字列は、次の例のようになります。

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という名前のカタログを作成します。

一般的な設定プロパティ

プロパティ名

説明

デフォルト

user-credential-name

JDBCドライバのユーザー名であるextraCredentialsプロパティの名前。 パラメータリファレンスextraCredentialsを参照してください。

password-credential-name

JDBCドライバのユーザーパスワードであるextraCredentialsプロパティの名前。 パラメータリファレンスextraCredentialsを参照してください。

case-insensitive-name-matching

データセットとテーブル名を大文字と小文字を区別せずに照合します。

false

case-insensitive-name-matching.cache-ttl

リモートデータセットとテーブル名をキャッシュする期間。0msに設定すると、キャッシュが無効になります。

1m

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文はサポートされていません。