コネクタと接続 > データ取り込みおよびレプリケーション接続プロパティ > Databricks接続プロパティ
  

Databricks接続プロパティ

Databricksに対してデータの安全な読み取りまたは書き込みを行うためのServiceNow接続を作成します。

ステージングの前提条件

接続を作成する前に、SQLウェアハウス、汎用クラスタ、またはジョブクラスタに接続するステージング環境を設定するために、特定の前提条件タスクを実行する必要があります。

SQLウェアハウス

デプロイメント環境に応じて、SQLウェアハウスのステージング環境としてAWS、Azure、またはDatabricksボリュームを設定します。さらに、AzureまたはAWSのステージング環境を使用するようにSQLウェアハウスのSparkパラメータを設定します。
SQLウェアハウスは、WindowsおよびLinuxオペレーティングシステムで使用することができます。
接続できるSQLウェアハウスのタイプの詳細については、ナレッジベースの記事「Databricks SQL warehouses」を参照してください。

AWSステージングの設定

SQLウェアハウスにAWSステージングを使用するようにIAM AssumeRole認証を設定します。

最小限のAmazon IAMポリシーの作成

Amazon S3でデータをステージングするには、次の最小限必要な権限を使用します。
次のサンプルAmazon IAMポリシーを使用できます。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject",
"s3:ListBucket",

],
"Resource": [
"arn:aws:s3:::<bucket_name>/*",
"arn:aws:s3:::<bucket_name>"
]
}
]
}
注:
[テスト接続]はユーザーに割り当てられたIAMポリシーを検証しません。ソースの詳細プロパティでAmazon S3バケット名を指定できます。

AWSステージング用のSparkパラメータの設定

Databricks SQL管理コンソールで、[SQLウェアハウスの設定] > [データセキュリティ]に移動し、[データアクセス設定]でAWSのSparkパラメータを設定します。
次のSpark構成パラメータを追加し、SQLウェアハウスを再起動します。
例えば、S3ステージングバケットウェアハウスの値はs3.ap-south-1.amazonaws.comのようになります。
設定したアクセスキーとシークレットキーで、Databricksテーブルのデータを保存するS3バケットにアクセスできることを確認します。

Azureステージングの設定

Microsoft Azure Data Lake Storage Gen2を使用してファイルをステージングする前に、次のタスクを実行します。

Azureステージング用のSparkパラメータの設定

Databricks SQL管理コンソールで、[SQLウェアハウスの設定] > [データセキュリティ]に移動し、[データアクセス設定]でAzureのSparkパラメータを設定します。
次のSpark構成パラメータを追加し、SQLウェアハウスを再起動します。
設定したクライアントIDとクライアントシークレットで、Databricksテーブルのデータを保存するファイルシステムにアクセスできることを確認します。

Databricksボリュームでのデータのステージング

Databricksのボリュームにデータをステージングできます。ボリュームは、ファイルやディレクトリなどの表形式以外のデータセットを管理および保護するために使用されるUnity Catalogオブジェクトです。
ボリュームは、LinuxまたはWindowsマシン上で、Databricks JDBCドライバと組み合わせて使用できます。
ボリュームを使用するには、以下の前提条件を完了する必要があります。

汎用クラスタ

汎用クラスタでの設計時処理用のSecure Agentプロパティを有効にします。
汎用クラスタは、Linuxオペレーティングシステムでのみ使用できます。

Secure Agentのプロパティの設定

汎用クラスタに接続するには、設計時にSecure Agentのプロパティを有効にします。
  1. 1Administratorで、[ランタイム環境]タブに一覧表示されているSecure Agentを選択します。
  2. 2[編集]をクリックします。
  3. 3[システム構成の詳細]セクションで、[サービス]として[データ統合サーバー]を選択し、[タイプ]として[Tomcat JRE]を選択します。
  4. 4[JRE_OPTS]フィールドを編集して、値を-DUseDatabricksSql=falseに設定します。
  5. この図は、Tomcat JREタイプのJRE_OPTSプロパティを示しています。

ジョブクラスタ

クラスタがデプロイされている場所に基づいてAzureおよびAWSステージングを使用するように、ジョブクラスタのSparkパラメータを設定します。
また、ジョブクラスタでの実行時の処理に対してSecure Agentプロパティを有効にする必要があります。
ジョブクラスタは、Linuxオペレーティングシステムでのみ使用できます。

Spark設定

ジョブクラスタに接続する前に、AWSとAzureでSparkパラメータを設定する必要があります。

AWSでの設定

ジョブクラスタに次のSpark構成パラメータを追加し、クラスタを再起動します。
設定したアクセスキーとシークレットキーで、Databricksテーブルのデータを保存するバケットにアクセスできることを確認します。

Azureでの設定

ジョブクラスタに次のSpark構成パラメータを追加し、クラスタを再起動します。
設定したクライアントIDとクライアントシークレットで、Databricksテーブルのデータを保存するファイルシステムにアクセスできることを確認します。

Secure Agentのプロパティの設定

ジョブクラスタに接続するには、実行時にSecure Agentプロパティを有効にします。
注:
このトピックは、データ取り込みおよびレプリケーションに関連するものではありません。
  1. 1Administratorで、[ランタイム環境]タブに一覧表示されているSecure Agentを選択します。
  2. 2[編集]をクリックします。
  3. 3[システム構成の詳細]セクションで、[サービス]に[データ統合サーバー]を選択し、[タイプ]に[DTM]を選択します。
  4. 4[JVMOption]フィールドを編集して、値を-DUseDatabricksSql=falseに設定します。
  5. この図は、マッピングのJVMOptionプロパティを示しています。

Databricksへの接続

Databricksに接続するようにDatabricksの接続プロパティを設定してみましょう。

始める前に

Databricks接続を使用して、Databricksテーブルの読み取りと書き込みを行うことができます。
次のコンピューティングリソースを設定して、Databricksに接続できます。
注:
汎用クラスタまたはジョブクラスタを使用している場合はSQLウェアハウスに移行することをお勧めします。汎用クラスタとジョブクラスタが新しい機能の更新プログラムや拡張機能を受け取ることはありません。しかし、安定性と安全性を維持するために重要なセキュリティ更新プログラムは引き続き受け取ります。SQLウェアハウスに切り替えると、最新の機能と拡張機能を利用することができます。
開始する前に、Databricks接続を使用するようにAWSまたはAzureステージング環境を設定する必要があります。
AzureまたはAWS環境の前提条件については、「ステージングの前提条件」を確認してください。

接続の詳細

次の表に、基本接続プロパティを示します。
プロパティ
説明
接続名
接続の名前。
各接続名は組織内で一意である必要があります。接続名には、英数字、スペース、および次の特殊文字を含めることができます。_ .+ -,
最大長は255文字です。
説明
接続の説明。最大長は4000文字です。
シークレットコンテナの使用
組織に対して設定されているSecrets Managerにこの接続の機密資格情報を保存します。
このプロパティは、組織にSecrets Managerが設定されている場合にのみ表示されます。
このプロパティは、データ取り込みおよびレプリケーションデータアクセス管理サービスではサポートされていません。
接続でシークレットコンテナを有効にすると、Secure AgentがSecrets Managerからどの資格情報を取得するかを選択できます。このオプションを無効にした場合、資格情報は組織の設定方法に応じてリポジトリまたはローカルSecure Agentに保存されます。
注:
この接続を使用してプッシュダウンまたはプロキシサービスを介してデータアクセスポリシーを適用する場合、シークレットコンテナ設定オプションを使用することはできません。
Secrets Managerを設定および使用する方法については、Secrets manager configurationを参照してください。
ランタイム環境
タスクを実行するランタイム環境の名前。
アプリケーション取り込みとレプリケーションタスクとデータベース取り込みとレプリケーションタスクでは、Secure Agentまたはサーバーレスランタイム環境を使用できます。タスクには、サーバーレス使用がサポートされているソースタイプが必要です。ファイル取り込みおよびレプリケーションタスクまたはストリーミング取り込みおよびレプリケーションタスクには、Secure Agentを使用します。ホステッドエージェントまたはエラスティックランタイム環境で、アプリケーション取り込みとレプリケーションタスク、データベース取り込みとレプリケーションタスク、ファイル取り込みおよびレプリケーションタスク、またはストリーミング取り込みとレプリケーションタスクを実行することはできません。
SQLウェアハウスJDBC URL
Databricks SQLウェアハウスのJDBC接続URL。
このプロパティは、Databricks SQLウェアハウスにのみ必要です。汎用クラスタとジョブクラスタには適用されません。
SQLウェアハウスJDBC URLを取得するには、Databricksコンソールに移動し、[JDBC URL]メニューからJDBCドライババージョンを選択します。
アプリケーション取り込みとレプリケーションタスクとデータベース取り込みとレプリケーションタスクでは、JDBC URLバージョン2.6.25以降または2.6.22以前を使用できます。URLは次のように、プレフィックスjdbc:databricks://で始まる必要があります。
jdbc:databricks://<Databricksホスト>:443/default;transportMode=http;ssl=1;AuthMech=3;httpPath=/sql/1.0/endpoints/<SQLエンドポイントのクラスタID>;
Secure Agentで必要な環境変数を設定してください。また、詳細接続設定で正しい[JDBCドライバクラス名]を指定します。
注:
データベース名は[データベース名]接続プロパティで指定します。JDBC URLでデータベース名を指定した場合、そのデータベース名は考慮されません。

認証タイプ

Databricksにアクセスする場合に、パーソナルアクセストークン認証およびOAuth Machine-to-Machine認証のタイプを設定することができます。
注:
データ取り込みおよびレプリケーションでは、パーソナルアクセストークン認証タイプのみを使用できます。
必要な認証方法を選択し、認証固有のパラメータを設定します。
パーソナルアクセストークン認証にはパーソナルアクセストークンが必要です。OAuth Machine-to-Machine認証には、DatabricksアカウントのクライアントIDとクライアントシークレットが必要です。
パーソナルアクセストークン、クライアントID、およびクライアントシークレットを取得する方法の詳細については、Databricksのマニュアルを参照してください。

詳細設定

次の表に、詳細接続のプロパティを示します。
プロパティ
説明
データベース
Databricksのスキーマの名前。
名前には、英数字とハイフン(-)のみを含めることができます。
このプロパティは、SQLウェアハウス、汎用クラスタ、ジョブクラスタでは省略可能です。
値を指定しない場合、ワークスペースで使用可能なすべてのデータベースが一覧表示されます。指定した値は、[SQLウェアハウスJDBC URL]接続プロパティで指定したスキーマによりも優先されます。
JDBCドライバクラス名
JDBCドライバクラスの名前。
このプロパティは、SQLウェアハウス、汎用クラスタ、ジョブクラスタでは省略可能です。
デフォルトはcom.databricks.client.jdbc.Driverです
ステージング環境
処理前にデータが一時的に保存されるステージング環境.
このプロパティは、SQLウェアハウス、汎用クラスタ、ジョブクラスタでは必須です。
ステージング環境として次のいずれかのオプションを選択します。
  • - AWS。DatabricksがAWSプラットフォームでホストされている場合。
  • - Azure。DatabricksがAzureプラットフォームでホストされている場合。
  • - 個人用ステージングの場所。ローカルの個人用ストレージの場所にデータをステージングする場合。
  • データ取り込みおよびレプリケーションで使用する接続に[個人用ステージングの場所]を選択した場合は、アプリケーション取り込みとレプリケーションジョブまたはデータベース取り込みとレプリケーションジョブのParquetデータファイルをローカルの個人用ストレージの場所にステージングできます。データ保持期間は7日間です。また、[データベースホスト]の値も指定する必要があります。Unity Catalogを使用する場合は、個人用ストレージの場所が自動的にプロビジョニングされます。ただし、Databricksアンマネージドテーブルで個人用ステージングの場所を使用することはできません。
  • - ボリューム。Databricksのボリュームにデータをステージングする場合。ボリュームは、ファイルやディレクトリなどの表形式以外のデータセットを管理および保護するために使用されるUnity Catalogオブジェクトです。
  • 注:
    Google Cloud PlatformでホストされているDatabricksエンドポイントに接続するようにDatabricks接続を設定する場合は、ボリュームを使用してデータをステージングする必要があります。
ボリュームと個人用ステージングの場所はどちらも、汎用クラスタとジョブクラスタには適用されません。
デフォルトは[ボリューム]です。
注:
接続を確立した後にクラスタを切り替えることはできません。
重要:
2024年10月リリースから、個人用ステージングの場所は非推奨になりました。非推奨になった機能はまだサポートされていますが、今後のリリースではサポートが廃止される予定です。ボリュームを使用してデータをステージングすることをお勧めします。
ボリュームパス
データを一時的にステージングするボリュームの絶対パス。
次の形式でパスを指定します。
/Volumes/<catalog_identifier>/<schema_identifier>/<volume_identifier>/
ボリュームパスを指定しない場合、Secure AgentはDatabricksにマネージドボリュームを作成します。

AWSステージング環境

次の表に、AWSステージング環境のプロパティを示します。
プロパティ
説明
S3認証モード
Amazon S3に接続するための認証モード。
次のいずれかの認証モードを選択します。
  • - 永続的なIAM資格情報。S3アクセスキーとS3シークレットキーを使用してAmazon S3に接続します。
  • - IAM Assume RoleIAM認証にAssumeRoleを使用してAmazon S3に接続します。
  • この認証モードは、SQLウェアハウスにのみ適用されます。
S3アクセスキー
Amazon S3バケットにアクセスするためのキー。
S3シークレットキー
Amazon S3バケットにアクセスするためのシークレットキー。
S3データバケット
Databricksデータを格納するための既存のS3バケット。
S3ステージングバケット
ステージングファイルを保存するための既存のバケット。
S3 VPCエンドポイントタイプ
このプロパティはAmazon S3のIAM Assume Role認証にのみ適用されます。
Amazon S3用のAmazon Virtual Private Cloudエンドポイントのタイプ。
VPCエンドポイントを使用して、Amazon S3とのプライベート通信を有効にすることができます。VPCエンドポイントを使用するには、IAM Role ARNを指定する必要があります。
次のいずれかのオプションを選択します。
  • - なし。VPCエンドポイントを使用しない場合に選択します。
  • - インタフェースエンドポイント。サブネットのIPアドレス範囲のプライベートIPアドレスを使用しているインタフェースエンドポイント経由でAmazon S3とのプライベート通信を確立する場合に選択します。これは、AWSのサービス宛てのトラフィックのエントリポイントとして機能します。
S3のエンドポイントDNS名
Amazon S3インタフェースエンドポイントのDNS名。
アスタリスク記号をDNS名内のbucketキーワードで置き換えます。
DNS名は以下の形式で入力します。
bucket.<インタフェースエンドポイントのDNS名>
例: bucket.vpce-s3.us-west-2.vpce.amazonaws.com
IAMロールARN
動的に生成された一時的なセキュリティ資格情報を使用するためにユーザーに引き継がれたIAMロールの Amazon Resource Number(ARN)。
一時的なセキュリティ資格情報を使用してAmazon S3ステージングバケットにアクセスする場合はこのプロパティの値を設定します。
IAMロールのARNの取得方法の詳細については、AWSのマニュアルを参照してください。
ロールの引き受けにEC2ロールを使用
オプション。EC2ロールがIAMロールARNオプションで指定された別のIAMロールを引き受けることができるようにするには、このチェックボックスをオンにします。
EC2ロールには、同じAWSアカウントまたは異なるAWSアカウントからIAMロールを引き受けるためのアクセス許可がアタッチされたポリシーが必要です。
STS VPCエンドポイントタイプ
このプロパティはAmazon S3のIAM Assume Role認証にのみ適用されます。
AWS Security Token Service用のAmazon Virtual Private Cloudエンドポイントのタイプ。
VPCエンドポイントを使用して、Amazon Security Token Serviceとのプライベート通信を有効にすることができます。VPCエンドポイントを使用するには、IAM Role ARNを指定する必要があります。
次のいずれかのオプションを選択します。
  • - なし。VPCエンドポイントを使用しない場合に選択します。
  • - インタフェースエンドポイント。サブネットのIPアドレス範囲のプライベートIPアドレスを持つインタフェースエンドポイント経由でAmazon Security Token Serviceとのプライベート通信を確立する場合に選択します。
AWS STSのエンドポイントDNS名
AWS STSインタフェースエンドポイントのDNS名。
例: vpce-01f22cc14558c241f-s8039x4c.sts.us-west-2.vpce.amazonaws.com
S3サービスリージョナルエンドポイント
S3データバケットとS3ステージングバケットに、リージョン固有のS3リージョナルエンドポイントを介してアクセスする必要がある場合のS3リージョナルエンドポイント。
このプロパティは、SQLウェアハウスでは省略可能です。汎用クラスタとジョブクラスタには適用されません。
デフォルトはs3.amazonaws.comです。
S3リージョン名
アクセスするバケットが存在するAWSクラスタリージョンです。
[JDBC URL]接続プロパティで指定したカスタムJDBC URLにクラスタリージョン名が含まれていない場合にクラスタリージョンを選択します。
ゾーンID
DatabricksジョブクラスタのゾーンID。
このプロパティは、ジョブクラスタでは省略可能です。SQLウェアハウスと汎用クラスタには適用されません。
実行時に特定のゾーンでDatabricksジョブクラスタを作成する場合にのみ、ゾーンIDを指定します。
例: us-west-2a
注:
ゾーンは、Databricksアカウントが存在する場所と同じリージョンにある必要があります。
EBSボリュームタイプ
クラスタで起動されるEBSボリュームのタイプ。
このプロパティは、ジョブクラスタでは省略可能です。SQLウェアハウスと汎用クラスタには適用されません。
EBSボリューム数
インスタンスごとに起動されるEBSボリュームの数。最大10までのボリュームを選択できます。
このプロパティは、ジョブクラスタでは省略可能です。SQLウェアハウスと汎用クラスタには適用されません。
注:
Databricks接続では、インスタンスストアを使用せずにノードタイプに少なくとも1つのEBSボリュームを指定してください。そうしないと、クラスタの作成は失敗します。
EBSボリュームサイズ
インスタンスに対して起動される単一のEBSボリュームのサイズ(GiB単位)。
このプロパティは、ジョブクラスタでは省略可能です。SQLウェアハウスと汎用クラスタには適用されません。

Azureステージング環境

次の表に、Azureステージング環境のプロパティを示します。
プロパティ
説明
ADLSストレージアカウント名
Microsoft Azure Data Lake Storageアカウントの名前。
ADLSクライアントID
Active DirectoryでOAuth認証を完了するためのアプリケーションのID。
ADLSクライアントシークレット
Active DirectoryでOAuth認証を完了するためのクライアントシークレットキー。
ADLSテナントID
データの書き込みに使用するMicrosoft Azure Data Lake StorageディレクトリのID。
ADLSエンドポイント
クライアントIDとクライアントシークレットに基づく認証が完了するOAuth 2.0トークンエンドポイント。
ADLSファイルシステム名
Databricksデータを格納するための既存のファイルシステムの名前。
ファイルシステム名のみを入力してください。完全パスは含めないようにしてください。
ADLSステージングファイルシステム名
ステージングデータを格納するための既存のファイルシステムの名前。
ファイルシステム名のみを入力してください。完全パスは含めないようにしてください。

JDBC URLパラメータ

Databricks接続の追加のJDBC URLパラメータフィールドを利用して、Databricksへの接続に必要な追加パラメータをカスタマイズおよび設定できます。
Databricks接続では、追加のJDBC URLパラメータとして次のようなプロパティを設定することができます。

個人用ステージングの場所についてのルールおよびガイドライン

ステージング環境として個人用ステージングの場所を選択すると、データは最初にJavaの一時的な場所にステージングされ、次にUnityカタログの個人用ステージングの場所にコピーされます。タスクが正常に実行された後に、ステージングされたファイルはどちらも削除されます。
ただし、データを別のディレクトリにステージングするには、Administratorサービスのシステム構成設定のJVMオプションでDTMプロパティ-Djava.io.tmpdir=/my/dir/pathを設定します。
別のディレクトリでのデータステージングを有効にするには、読み取りおよび書き込み権限と、ディレクトリにデータをステージングするための十分なディスク領域が必要です。
ステージング用のDatabricks接続プロパティで個人用ステージングの場所を指定する場合は、次のルールとガイドラインを考慮してください。
重要:
2024年10月リリースから、個人用ステージングの場所は非推奨になりました。現在のリリースではこの機能を使用できますが、Informaticaは将来のリリースでこの機能のサポートを終了する予定です。ボリュームを使用してデータをステージングすることをお勧めします。