データアクセス構成
これらの手順は、従来のデータ アクセス パターンに適用されます。Databricksデータ アクセスにUnity Catalog外部ロケーションを使用することをお勧めします。 「Unity Catalog を使用してクラウド オブジェクト ストレージに接続する」を参照してください。
この記事では、ワークスペースでSQLウェアハウスのデータ アクセス プロパティを管理する方法について説明します。
これらの設定を変更すると、実行中のすべてのSQLウェアハウスが再起動されます。
Google Cloud サービス アカウントを構成する
Google Cloud Storage (GCS) にアクセスするときに Google Cloud サービス アカウントを使用するようにすべてのウェアハウスを構成するには:
-
Google Cloud プラットフォームで、Google Cloud Storage 資産にアクセスするために必要な基盤となる Google Cloud プラットフォーム サービスに対する権限を持つサービス アカウントを作成します。
-
管理者設定ページに移動します。
-
「 コンピュート 」タブをクリックします。
-
SQLウェアハウス の横にある「 管理 」をクリックします。
-
[Google サービス アカウント ] フィールドに、すべての SQLウェアハウスの立ち上げに使用される ID を持つサービス アカウントの Eメール アドレスを入力します。
これらのウェアハウスで実行されるすべてのクエリは、Google Cloud プラットフォームでこのサービス アカウントに付与された権限を範囲とする、基盤となる Google Cloud プラットフォーム サービスにアクセスできます。
-
[ 保存 ]をクリックします。
SQLウェアハウスのデータ アクセス プロパティの構成
-
ワークスペースの上部バーでユーザー名をクリックし、ドロップダウンから [ 設定 ] を選択します。
-
「 コンピュート 」タブをクリックします。
-
SQLウェアハウス の横にある「 管理 」をクリックします。
-
[データ アクセス構成 ] テキスト ボックスで、メタストア プロパティを含むキーと値のペアを指定します。
シークレット値を Spark に公開せずに Spark 設定プロパティをシークレットの値に設定するには、値を {{secrets/<secret-scope>/<secret-name>}}に設定します。 <secret-scope>をシークレットスコープに、<secret-name>をシークレット名に置き換えます。値は {{secrets/ and end with }}で始まる必要があります。 この構文の詳細については、「 シークレットの管理」を参照してください。
- [ 保存 ]をクリックします。
Databricks Terraform プロバイダーと databricks_sql_global_config を使用して、データ アクセス プロパティを構成することもできます。
サポートされているプロパティ
-
*が末尾にあるエントリの場合、その接頭辞内のすべてのプロパティがサポートされます。たとえば、
spark.sql.hive.metastore.*はspark.sql.hive.metastore.jarsとspark.sql.hive.metastore.versionの両方がサポートされていることを示し、spark.sql.hive.metastoreで始まるその他のプロパティはサポートされています。 -
値に機密情報が含まれているプロパティの場合は、機密情報を シークレット に保存し、構文
secrets/<secret-scope>/<secret-name>を使用してプロパティの値をシークレット名に設定できます。
SQLウェアハウスでは、次のプロパティがサポートされています。
-
spark.databricks.hive.metastore.glueCatalog.enabled -
spark.sql.hive.metastore.* -
spark.sql.warehouse.dir -
spark.hadoop.datanucleus.* -
spark.hadoop.fs.* -
spark.hadoop.hive.* -
spark.hadoop.javax.jdo.option.* -
spark.hive.*
これらのプロパティの設定方法の詳細については、「 外部 Hive metastore」を参照してください。