メインコンテンツまでスキップ

Azure クラウドストレージへの認証

CelerData Cloud BYOC にクラスターを正常にデプロイし、仮想マシン (VM) やクラウドストレージなどのクラスター関連のクラウドリソースがすでに Azure アカウントの下に配置されているとします。

このトピックでは、以下のシナリオで CelerData クラスターが自己管理の Azure クラウドストレージ(Azure Blob Storage や Azure Data Lake Storage など)にアクセスできるようにする方法を紹介します。

  • Azure Storage 内の HiveIcebergHudi、および Delta Lake テーブルをクエリします。
  • Azure Storage からデータをバッチロードします。

以下の表は、さまざまな Azure ストレージサービスでサポートされている認証方法を示しています。

Azure ストレージサービス認証方法
Azure Blob Storage
  • 共有キー (ストレージアカウントのアクセスキー)
  • SAS トークン
Azure Data Lake Storage Gen2 (ADLS Gen2)
  • マネージドアイデンティティ
  • 共有キー (ストレージアカウントのアクセスキー)
  • サービスプリンシパル
Azure Data Lake Storage Gen1 (ADLS Gen1)
  • マネージドサービスアイデンティティ
  • サービスプリンシパル

このトピックのデータロードの例では、Azure ストレージに保存されている file1.parquet をサンプルデータファイルとして使用し、CelerData クラスター内の mydatabase というデータベースに属する table1 をサンプルの宛先テーブルとして使用します。file1.parquettable1 は同じスキーマを持っているとします。

Azure Blob Storage

Blob Storage にアクセスする際、ファイルパスを入力する必要がある場合があります。

  • ストレージアカウントが HTTP 経由でのアクセスを許可している場合、wasb プロトコルを使用し、ファイルパスを wasb://<container_name>@<storage_account_name>.blob.core.windows.net/<path>/<file_name> として記述します。
  • ストレージアカウントが HTTPS 経由でのアクセスを許可している場合、wasbs プロトコルを使用し、ファイルパスを wasbs://<container_name>@<storage_account_name>.blob.core.windows.net/<path>/<file_name> として記述します。

共有キー (ストレージアカウントのアクセスキー)

アクセスキーは、Azure ベースの CelerData クラスターのストレージアカウントへのリクエストを認証します。アクセスキーの詳細については、アカウントアクセスキーの管理 - Azure Storage を参照してください。

注意

この認証方法は、external catalog と Broker Load をサポートしています。external catalog に対しては、認証に使用するストレージアカウントは、external data source のデータを保存するために使用されるアカウントである必要があります。

パラメータ

Blob Storage にアクセスするための資格情報として、以下のパラメータを設定します。

パラメータ説明
azure.blob.storage_accountBlob ストレージアカウントの名前。
azure.blob.shared_keyBlob ストレージアカウントの共有キー (アクセスキー)。

Blob ストレージアカウントの共有キー (アクセスキー) を取得する手順は次のとおりです。

  1. Microsoft Azure ポータル にサインインし、Storage accounts サービスページに移動します。

  2. ストレージアカウントを見つけて、その名前をクリックします。

  3. 左側のナビゲーションペインで、アクセスキー を選択します。

  4. 表示されたページで、使用したいキーの横にある 表示 をクリックし、コピーアイコンをクリックしてキーをコピーします。

    Blob - Obtain Shared Key

External catalog

hive_catalog_azure という名前の Hive catalog を作成します。

CREATE EXTERNAL CATALOG hive_catalog_azure
PROPERTIES
(
"type" = "hive",
"hive.metastore.type" = "hive",
"hive.metastore.uris" = "thrift://xx.xx.xx.xx:9083",
"azure.blob.storage_account" = "<storage_account_name>",
"azure.blob.shared_key" = "<storage_account_shared_key>"
);

CelerData は現在、Hive catalog、Iceberg catalog、Hudi catalog、および Delta Lake catalog をサポートしています。これらの external catalog を作成するための詳細な構文とパラメータについては、Hive catalog、[Iceberg ../data_source/catalog/iceberg_catalog.mdatalog.md)、[Hudi ../data_source/catalog/hudi_catalog.mdatalog.md)、および Delta Lake catalog を参照してください。

Broker Load

データファイル file1.parquet から CelerData クラスター内の mydatabase というデータベースに属する宛先テーブル table1 にデータをロードする Broker Load ジョブを作成します。

LOAD LABEL mydatabase.label_blob_key
(
DATA INFILE("wasb[s]://<container_name>@<storage_account_name>.blob.core.windows.net/<path>/file1.parquet")
INTO TABLE table1
FORMAT AS "parquet"
)
WITH BROKER
(
"azure.blob.storage_account" = "<storage_account_name>",
"azure.blob.shared_key" = "<storage_account_shared_key>"
)
PROPERTIES
(
"timeout" = "3600"
);

Broker Load ジョブを作成するための詳細な構文とパラメータについては、BROKER LOAD を参照してください。

Azure からテーブル作成 DDL を使用してデータをロードする典型的な例については、Batch load data from Azure cloud storage を参照してください。

SAS トークン

共有アクセス署名 (SAS) は、ストレージアカウントへの制限付きアクセスを許可する URI です。SAS トークンの詳細については、共有アクセス署名を使用してアクセスを委任する - Azure Storage を参照してください。

注意

この認証方法は、external catalog と Broker Load をサポートしています。external catalog に対しては、認証に使用するストレージアカウントは、external data source のデータを保存するために使用されるアカウントである必要があります。

パラメータ

Blob Storage にアクセスするための資格情報として、以下のパラメータを設定します。

パラメータ説明
azure.blob.storage_accountBlob ストレージアカウントの名前。
azure.blob.containerBlob ストレージアカウント内でデータを保存する Blob コンテナの名前。
azure.blob.sas_tokenBlob ストレージアカウントにアクセスするために使用される SAS トークン。

Blob ストレージアカウントの SAS トークンを取得する手順は次のとおりです。

  1. Microsoft Azure ポータル にサインインし、Storage accounts サービスページに移動します。

  2. ストレージアカウントを見つけて、その名前をクリックします。

  3. 左側のナビゲーションペインで、共有アクセス署名 を選択します。

  4. 表示されたページで、許可されたサービス許可されたリソースタイプ、および 許可された権限 セクションで適切な設定が行われていることを確認し、署名キー ドロップダウンリストからキーを選択し、SAS と接続文字列を生成 をクリックします。

    生成された SAS トークンをコピーアイコンをクリックしてコピーできます。

    Blob - Obtain SAS token

External catalog

hive_catalog_azure という名前の Hive catalog を作成します。

CREATE EXTERNAL CATALOG hive_catalog_azure
PROPERTIES
(
"type" = "hive",
"hive.metastore.type" = "hive",
"hive.metastore.uris" = "thrift://xx.xx.xx.xx:9083",
"azure.blob.storage_account" = "<storage_account_name>",
"azure.blob.container" = "<container_name>",
"azure.blob.sas_token" = "<storage_account_SAS_token>"
);

CelerData は現在、Hive catalog、Iceberg catalog、Hudi catalog、および Delta Lake catalog をサポートしています。これらの external catalog を作成するための詳細な構文とパラメータについては、Hive catalog、[Iceberg ../data_source/catalog/iceberg_catalog.mdatalog.md)、[Hudi ../data_source/catalog/hudi_catalog.mdatalog.md)、および Delta Lake catalog を参照してください。

Broker Load

データファイル file1.parquet から CelerData クラスター内の mydatabase というデータベースに属する宛先テーブル table1 にデータをロードする Broker Load ジョブを作成します。

LOAD LABEL mydatabase.label_blob_sas
(
DATA INFILE("wasb[s]://<container_name>@<storage_account_name>.blob.core.windows.net/<path>/file1.parquet")
INTO TABLE table1
FORMAT AS "parquet"
)
WITH BROKER
(
"azure.blob.storage_account" = "<storage_account_name>",
"azure.blob.container" = "<container_name>",
"azure.blob.sas_token" = "<storage_account_SAS_token>"
)
PROPERTIES
(
"timeout" = "3600"
);

Broker Load ジョブを作成するための詳細な構文とパラメータについては、BROKER LOAD を参照してください。

Azure からテーブル作成 DDL を使用してデータをロードする典型的な例については、Batch load data from Azure cloud storage を参照してください。

Azure Data Lake Storage Gen2

ADLS Gen2 にアクセスする際、ファイルパスを入力する必要がある場合があります。

  • ストレージアカウントが HTTP 経由でのアクセスを許可している場合、abfs プロトコルを使用し、ファイルパスを abfs://<container_name>@<storage_account_name>.dfs.core.windows.net/<path>/<file_name> として記述します。
  • ストレージアカウントが HTTPS 経由でのアクセスを許可している場合、abfss プロトコルを使用し、ファイルパスを abfss://<container_name>@<storage_account_name>.dfs.core.windows.net/<path>/<file_name> として記述します。

マネージドアイデンティティ

ユーザー割り当てのマネージドアイデンティティは、Azure リソースがクラウドサービス (たとえば、Azure Key Vault) に認証するために使用され、コード内に資格情報を保存する必要がありません。各マネージドアイデンティティは独立した Azure リソースとして作成され、そのライフサイクルを持ちます。単一のリソース (たとえば、VM) は複数のユーザー割り当てのマネージドアイデンティティを利用できます。同様に、単一のユーザー割り当てのマネージドアイデンティティは、複数のリソース (たとえば、複数の VM) 間で共有できます。

準備

マネージドアイデンティティ認証方法を使用する前に、CelerData クラスターのデータ資格情報で参照されているマネージドアイデンティティを見つける必要があります。また、CelerData クラスターがストレージアカウント内のより多くのデータにアクセスできるようにする場合、マネージドアイデンティティにストレージアカウントへの必要な読み取りおよび書き込み権限が割り当てられていることを確認する必要があります。

注意

この認証方法は、external catalog と Broker Load をサポートしています。external catalog に対しては、認証に使用するストレージアカウントは、external data source のデータを保存するために使用されるアカウントである必要があります。

次の手順に従います。

  1. CelerData Cloud BYOC コンソール にサインインします。

  2. クラスター ページで、CelerData クラスターを見つけてクリックします。

  3. クラウド設定 タブで、データ資格情報 セクションに移動し、マネージドアイデンティティリソース ID を見つけます。マネージドアイデンティティリソース ID の最後の要素が、CelerData クラスターに関連付けられたマネージドアイデンティティの名前です。たとえば、マネージドアイデンティティリソース ID/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/celerdata-20240426-resource-group-001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/celerdata-20240426-managed-identity の場合、マネージドアイデンティティの名前は celerdata-20240426-managed-identity です。

    Gen2 - Managed Identity - Obtain the name of the managed identity

  4. Microsoft Azure ポータル にサインインし、Storage accounts サービスページに移動します。

  5. ストレージアカウントを見つけて、その名前をクリックします。

  6. 左側のナビゲーションペインで、アクセス制御 (IAM) を選択します。

  7. 表示されたページの ロールの割り当て タブで、既存のロールの割り当てを確認します。

    Gen2 - Managed Identity - Role assignments

  8. ストレージアカウントへの必要な読み取りおよび書き込み権限がマネージドアイデンティティに割り当てられていない場合、追加 をクリックし、ロールの割り当てを追加 を選択します。次に、適切なロールの割り当てを追加します。

    a. ロールの割り当てを追加 ページの ジョブ機能ロール タブで、適切なロールの割り当て (たとえば、ストレージアカウント内のコンテナとデータへのフルアクセスを許可する Storage Blob Data Owner) を選択し、次へ をクリックします。

    b. メンバー タブで、アクセスを割り当てる に対して マネージドアイデンティティ を選択します。

    c. メンバー に対して、メンバーを選択 をクリックします。表示された右側のペインで、サブスクリプション ドロップダウンリストから Microsoft サブスクリプションを選択し、マネージドアイデンティティ ドロップダウンリストから ユーザー割り当てのマネージドアイデンティティ を選択し、選択 セクションからマネージドアイデンティティを検索して選択し、選択 をクリックします。

    Gen2 - Managed Identity - Role assignments

    d. 確認 + 割り当て をクリックします。次に、確認 + 割り当て タブで、入力した情報を確認し、確認 + 割り当て をクリックしてロールの割り当てを追加します。

パラメータ

ADLS Gen2 にアクセスするための資格情報として、以下のパラメータを設定します。

パラメータ説明
azure.adls2.oauth2_use_managed_identityマネージドアイデンティティ認証方法を有効にするかどうかを指定します。値を true に設定します。
azure.adls2.oauth2_tenant_idADLS Gen2 ストレージアカウントのテナント ID。
azure.adls2.oauth2_client_id宛先 CelerData クラスターのデータ資格情報で参照されるマネージドアイデンティティのクライアント ID。

ADLS Gen2 ストレージアカウントのテナント ID を取得する手順は次のとおりです。

  1. Microsoft Azure ポータル にサインインし、テナントプロパティ 設定ページに移動します。
  2. テナント ID を見つけ、コピーアイコンをクリックしてコピーします。

マネージドアイデンティティのクライアント ID を取得する手順は次のとおりです。

  1. Microsoft Azure ポータル にサインインし、マネージドアイデンティティ サービスページに移動します。

  2. 前の手順で取得した名前に基づいてマネージドアイデンティティを見つけ、それをクリックします。

  3. 表示された 概要 ページで、クライアント ID を見つけ、コピーアイコンをクリックしてコピーします。

    Gen2 - Managed Identity - Obtain the client ID of the managed identity

External catalog

hive_catalog_azure という名前の Hive catalog を作成します。

CREATE EXTERNAL CATALOG hive_catalog_azure
PROPERTIES
(
"type" = "hive",
"hive.metastore.type" = "hive",
"hive.metastore.uris" = "thrift://xx.xx.xx.xx:9083",
"azure.adls2.oauth2_use_managed_identity" = "true",
"azure.adls2.oauth2_tenant_id" = "<service_principal_tenant_id>",
"azure.adls2.oauth2_client_id" = "<service_client_id>"
);

CelerData は現在、Hive catalog、Iceberg catalog、Hudi catalog、および Delta Lake catalog をサポートしています。これらの external catalog を作成するための詳細な構文とパラメータについては、Hive catalog、[Iceberg ../data_source/catalog/iceberg_catalog.mdatalog.md)、[Hudi ../data_source/catalog/hudi_catalog.mdatalog.md)、および Delta Lake catalog を参照してください。

Broker Load

データファイル file1.parquet から CelerData クラスター内の mydatabase というデータベースに属する宛先テーブル table1 にデータをロードする Broker Load ジョブを作成します。

LOAD LABEL mydatabase.label_gen2_identity
(
DATA INFILE("abfs[s]://<container_name>@<storage_account_name>.dfs.core.windows.net/<path>/file1.parquet")
INTO TABLE table1
FORMAT AS "parquet"
)
WITH BROKER
(
"azure.adls2.oauth2_use_managed_identity" = "true",
"azure.adls2.oauth2_tenant_id" = "<service_principal_tenant_id>",
"azure.adls2.oauth2_client_id" = "<service_client_id>"
)
PROPERTIES
(
"timeout" = "3600"
);

Broker Load ジョブを作成するための詳細な構文とパラメータについては、BROKER LOAD を参照してください。

Azure からテーブル作成 DDL を使用してデータをロードする典型的な例については、Batch load data from Azure cloud storage を参照してください。

共有キー (ストレージアカウントのアクセスキー)

ADLS Gen2 にアクセスするための共有キーの使用は、Blob Storage にアクセスするための共有キーの使用と同じ方法で機能します。共有キーの使用と取得に関する情報については、Blob Storage > 共有キー を参照してください。

注意

この認証方法は、external catalog と Broker Load をサポートしています。external catalog に対しては、認証に使用するストレージアカウントは、external data source のデータを保存するために使用されるアカウントである必要があります。

パラメータ

ADLS Gen2 にアクセスするための資格情報として、以下のパラメータを設定します。

パラメータ説明
azure.adls2.storage_accountADLS Gen2 ストレージアカウントの名前。
azure.adls2.shared_keyADLS Gen2 ストレージアカウントの共有キー (アクセスキー)。

External catalog

hive_catalog_azure という名前の Hive catalog を作成します。

CREATE EXTERNAL CATALOG hive_catalog_azure
PROPERTIES
(
"type" = "hive",
"hive.metastore.type" = "hive",
"hive.metastore.uris" = "thrift://xx.xx.xx.xx:9083",
"azure.adls2.storage_account" = "<storage_account_name>",
"azure.adls2.shared_key" = "<storage_account_shared_key>"
);

CelerData は現在、Hive catalog、Iceberg catalog、Hudi catalog、および Delta Lake catalog をサポートしています。これらの external catalog を作成するための詳細な構文とパラメータについては、Hive catalog、[Iceberg ../data_source/catalog/iceberg_catalog.mdatalog.md)、[Hudi ../data_source/catalog/hudi_catalog.mdatalog.md)、および Delta Lake catalog を参照してください。

Broker Load

データファイル file1.parquet から CelerData クラスター内の mydatabase というデータベースに属する宛先テーブル table1 にデータをロードする Broker Load ジョブを作成します。

LOAD LABEL mydatabase.label_gen2_key
(
DATA INFILE("abfs[s]://<container_name>@<storage_account_name>.dfs.core.windows.net/<path>/file1.parquet")
INTO TABLE table1
FORMAT AS "parquet"
)
WITH BROKER
(
"azure.adls2.storage_account" = "<storage_account_name>",
"azure.adls2.shared_key" = "<storage_account_shared_key>"
)
PROPERTIES
(
"timeout" = "3600"
);

Broker Load ジョブを作成するための詳細な構文とパラメータについては、BROKER LOAD を参照してください。

Azure からテーブル作成 DDL を使用してデータをロードする典型的な例については、Batch load data from Azure cloud storage を参照してください。

サービスプリンシパル

準備

この認証方法を使用する前に、サービスプリンシパルをすでに持っているか、新しいものを作成してください。Azure のサービスプリンシパルに関する情報については、Azure でサービスプリンシパルを作成する を参照してください。

次に、サービスプリンシパルにストレージアカウントへの必要な読み取りおよび書き込み権限が割り当てられていることを確認します。次の手順に従います。

注意

この認証方法は、external catalog と Broker Load をサポートしています。external catalog に対しては、認証に使用するストレージアカウントは、external data source のデータを保存するために使用されるアカウントである必要があり、サービスプリンシパルは CelerData クラスターのデプロイに使用されるものである必要があります。

  1. Microsoft Azure ポータル にサインインし、Storage accounts サービスページに移動します。

  2. ADLS Gen2 ストレージアカウントを見つけて、その名前をクリックします。

  3. 左側のナビゲーションペインで、アクセス制御 (IAM) を選択します。

  4. 表示されたページの ロールの割り当て タブで、既存のロールの割り当てを確認します。

  5. ストレージアカウントへの必要な読み取りおよび書き込み権限がサービスプリンシパルに割り当てられていない場合、追加 をクリックし、ロールの割り当てを追加 を選択します。次に、適切なロールの割り当てを追加します。

    Gen2 - Service Principal - Role assignments

    a. ロールの割り当てを追加 ページの ジョブ機能ロール タブで、適切なロールの割り当て (たとえば、ストレージアカウント内のコンテナとデータへのフルアクセスを許可する Storage Blob Data Owner) を選択し、次へ をクリックします。

    b. メンバー タブで、ユーザー、グループ、またはサービスプリンシパルアクセスを割り当てる に選択します。

    c. メンバー に対して、メンバーを選択 をクリックします。表示された右側のペインで、登録したアプリケーションを検索して選択し、選択 をクリックします。

    Gen2 - Service Principal - Role assignments

    d. 確認 + 割り当て をクリックします。確認 + 割り当て タブで、入力した情報を確認します。次に、確認 + 割り当て を再度クリックしてロールの割り当てを追加します。

パラメータ

ADLS Gen2 にアクセスするための資格情報として、以下のパラメータを設定します。

パラメータ説明
azure.adls2.oauth2_client_idサービスプリンシパルのアプリケーション (クライアント) ID。
azure.adls2.oauth2_client_secretサービスプリンシパルのクライアントシークレットの値。
azure.adls2.oauth2_client_endpointサービスプリンシパルの OAuth 2.0 トークンエンドポイント (v1)。

注意

クライアントシークレットの値は、作成直後を除いて表示できません。サービスプリンシパルのクライアントシークレットを作成した後、ページを離れる前にクライアントシークレットの値を保存してください。

サービスプリンシパルのアプリケーション (クライアント) ID と OAuth 2.0 トークンエンドポイント (v1) を取得する手順は次のとおりです。

  1. Microsoft Azure ポータル にサインインし、アプリ登録 サービスページに移動します。

  2. 登録したアプリケーションを見つけて、その名前をクリックします。

  3. 表示された 概要 ページで、アプリケーション (クライアント) ID を見つけ、コピーアイコンをクリックしてコピーします。

    Gen2 - Service Principal - Obtain the application (client) ID

  4. 概要 ページの上部にある エンドポイント をクリックします。

  5. 右側の エンドポイント ペインで、OAuth 2.0 トークンエンドポイント (v1) を見つけ、コピーアイコンをクリックしてコピーします。

    Gen2 - Service Principal - Obtain the OAuth 2.0 token endpoint (v1)

External catalog

hive_catalog_azure という名前の Hive catalog を作成します。

CREATE EXTERNAL CATALOG hive_catalog_azure
PROPERTIES
(
"type" = "hive",
"hive.metastore.type" = "hive",
"hive.metastore.uris" = "thrift://xx.xx.xx.xx:9083",
"azure.adls2.oauth2_client_id" = "<service_client_id>",
"azure.adls2.oauth2_client_secret" = "<service_principal_client_secret>",
"azure.adls2.oauth2_client_endpoint" = "<service_principal_client_endpoint>"
);

CelerData は現在、Hive catalog、Iceberg catalog、Hudi catalog、および Delta Lake catalog をサポートしています。これらの external catalog を作成するための詳細な構文とパラメータについては、Hive catalog、[Iceberg ../data_source/catalog/iceberg_catalog.mdatalog.md)、[Hudi ../data_source/catalog/hudi_catalog.mdatalog.md)、および Delta Lake catalog を参照してください。

Broker Load

データファイル file1.parquet から CelerData クラスター内の mydatabase というデータベースに属する宛先テーブル table1 にデータをロードする Broker Load ジョブを作成します。

LOAD LABEL test_db.label_gen2_principal
(
DATA INFILE("abfs[s]://<container_name>@<storage_account_name>.dfs.core.windows.net/<path>/file1.parquet")
INTO TABLE table1
FORMAT AS "parquet"
)
WITH BROKER
(
"azure.adls2.oauth2_client_id" = "<service_principle_client_id>",
"azure.adls2.oauth2_client_secret" = "<service_principal_client_secret>",
"azure.adls2.oauth2_client_endpoint" = "<service_principal_client_endpoint>"
)
PROPERTIES
(
"timeout" = "3600"
);

Broker Load ジョブを作成するための詳細な構文とパラメータについては、BROKER LOAD を参照してください。

Azure からテーブル作成 DDL を使用してデータをロードする典型的な例については、Batch load data from Azure cloud storage を参照してください。

Azure Data Lake Storage Gen1

Azure Data Lake Storage Gen1 (ADLS Gen1) は現在、Azure で公開アクセスができなくなっています。しかし、ADLS Gen1 にデータが保存されている場合、以下の認証方法を使用してアクセスすることができます。

ADLS Gen1 は adl プロトコルをサポートしています。ADLS Gen1 にアクセスする際にファイルパスを入力する必要がある場合、ファイルパスを adl://<data_lake_storage_gen1_name>.azuredatalakestore.net/<path>/<file_name> として記述します。

マネージドサービスアイデンティティ

パラメータ

ADLS Gen1 にアクセスするための資格情報として、以下のパラメータを設定します。

パラメータ説明
azure.adls1.use_managed_service_identityマネージドサービスアイデンティティ認証方法を有効にするかどうかを指定します。値を true に設定します。

External catalog

hive_catalog_azure という名前の Hive catalog を作成します。

CREATE EXTERNAL CATALOG hive_catalog_azure
PROPERTIES
(
"type" = "hive",
"hive.metastore.type" = "hive",
"hive.metastore.uris" = "thrift://xx.xx.xx.xx:9083",
"azure.adls1.use_managed_service_identity" = "true"
);

CelerData は現在、Hive catalog、Iceberg catalog、Hudi catalog、および Delta Lake catalog をサポートしています。これらの external catalog を作成するための詳細な構文とパラメータについては、Hive catalog、[Iceberg ../data_source/catalog/iceberg_catalog.mdatalog.md)、[Hudi ../data_source/catalog/hudi_catalog.mdatalog.md)、および Delta Lake catalog を参照してください。

Broker Load

データファイル file1.parquet から CelerData クラスター内の mydatabase というデータベースに属する宛先テーブル table1 にデータをロードする Broker Load ジョブを作成します。

LOAD LABEL mydatabase.label_gen1_identity
(
DATA INFILE("adl://<data_lake_storage_gen1_name>.azuredatalakestore.net/<path>/file1.parquet")
INTO TABLE table1
FORMAT AS "parquet"
)
WITH BROKER
(
"azure.adls1.use_managed_service_identity" = "true"
)
PROPERTIES
(
"timeout" = "3600"
);

Broker Load ジョブを作成するための詳細な構文とパラメータについては、BROKER LOAD を参照してください。

Azure からテーブル作成 DDL を使用してデータをロードする典型的な例については、Batch load data from Azure cloud storage を参照してください。

サービスプリンシパル

ADLS Gen1 にアクセスするためのサービスプリンシパルの使用は、ADLS Gen2 にアクセスするためのサービスプリンシパルの使用と同じ方法で機能します。サービスプリンシパルの使用とその情報の取得に関する情報については、Azure Data Lake Storage Gen2 > サービスプリンシパル を参照してください。

注意

この認証方法は、external catalog と Broker Load をサポートしています。external catalog に対しては、認証に使用するストレージアカウントは、external data source のデータを保存するために使用されるアカウントである必要があり、サービスプリンシパルは CelerData クラスターのデプロイに使用されるものである必要があります。

パラメータ

ADLS Gen1 にアクセスするための資格情報として、以下のパラメータを設定します。

パラメータ説明
azure.adls1.oauth2_client_idサービスプリンシパルのアプリケーション (クライアント) ID。
azure.adls1.oauth2_credentialサービスプリンシパルのクライアントシークレットの値。
azure.adls1.oauth2_endpointサービスプリンシパルまたはアプリケーションの OAuth 2.0 トークンエンドポイント (v1)。

External catalog

hive_catalog_azure という名前の Hive catalog を作成します。

CREATE EXTERNAL CATALOG hive_catalog_azure
PROPERTIES
(
"type" = "hive",
"hive.metastore.type" = "hive",
"hive.metastore.uris" = "thrift://xx.xx.xx.xx:9083",
"azure.adls1.oauth2_client_id" = "<application_client_id>",
"azure.adls1.oauth2_credential" = "<application_client_credential>",
"azure.adls1.oauth2_endpoint" = "<OAuth_2.0_authorization_endpoint_v2>"
);

CelerData は現在、Hive catalog、Iceberg catalog、Hudi catalog、および Delta Lake catalog をサポートしています。これらの external catalog を作成するための詳細な構文とパラメータについては、Hive catalog、[Iceberg ../data_source/catalog/iceberg_catalog.mdatalog.md)、[Hudi ../data_source/catalog/hudi_catalog.mdatalog.md)、および Delta Lake catalog を参照してください。

Broker Load

データファイル file1.parquet から CelerData クラスター内の mydatabase というデータベースに属する宛先テーブル table1 にデータをロードする Broker Load ジョブを作成します。

LOAD LABEL mydatabase.label_gen1_principal
(
DATA INFILE("adl://<data_lake_storage_gen1_name>.azuredatalakestore.net/<path>/file1.parquet")
INTO TABLE table1
FORMAT AS "parquet"
)
WITH BROKER
(
"azure.adls1.oauth2_client_id" = "<application_client_id>",
"azure.adls1.oauth2_credential" = "<application_client_credential>",
"azure.adls1.oauth2_endpoint" = "<OAuth_2.0_authorization_endpoint_v2>"
)
PROPERTIES
(
"timeout" = "3600"
);

Broker Load ジョブを作成するための詳細な構文とパラメータについては、BROKER LOAD を参照してください。

Azure からテーブル作成 DDL を使用してデータをロードする典型的な例については、Batch load data from Azure cloud storage を参照してください。