Skip to content
Last updated

Microsoft Azure Datalake Parquet Export Integration

カラム形式のデータフォーマットであるParquetは、クエリがデータセット内の一部のカラムのみにアクセスする必要がある分析ワークロードに特に有益であり、多くのデータパイプライン戦略で好まれる選択肢となっています。

このTDエクスポート連携により、Treasure Dataのジョブ結果からParquetファイルを生成し、Azure Data Lake Storageに直接アップロードすることができます。

前提条件

  • Treasure Dataの基本的な知識
  • Azure Data Lake Storageの基本的な知識

要件と制限事項

  • Hierarchical Namespaceを有効にして構成されたAzure Data Lake Storageアカウント
  • Azure Data Lake Access KeysまたはShared Access Signatureが設定されていること。詳細については、Obtain Azure Data Lake Credentialsを参照してください
  • Export Integrationは、アカウントレベルまたはコンテナレベルのShared Access Signatureのみをサポートしています。フォルダレベルまたはディレクトリレベルのShared Access Signatureはサポートしていません

TD Consoleを使用した接続の作成

TD Consoleでは、クエリを実行する前にデータ接続を作成して構成する必要があります。データ接続の一部として、以下の手順に従って統合にアクセスするための認証を提供します。

  1. TD Consoleを開きます
  2. Integrations Hub > Catalogに移動します
  3. 統合を検索し、Azure Data Lakeを選択します
  4. Create Authenticationを選択し、統合の認証情報を入力します

認証フィールド

ParameterDescription
Authentication Mode2つのサポートされている認証モードのいずれかを選択します: - Access Key - Shared Access Signatures
Account Name階層型名前空間が有効になっているAzureストレージアカウント名
Account Key選択した認証モードに対応するAccount KeyまたはSAS Token。Azureプラットフォームから取得します。詳細については、Obtain Azure Data Lake Credentialsを参照してください
SAS Token
Proxy TypeAzure Data Lake Storageへの統合がHTTPプロキシ経由の場合はHTTPを選択します
Proxy HostProxy TypeがHTTPの場合のProxy Host値
Proxy PortProxy TypeがHTTPの場合のProxy Port値
Proxy UsernameProxy TypeがHTTPの場合のプロキシユーザー名
Proxy PasswordProxy TypeがHTTPの場合のプロキシパスワード
On Premisesこのパラメータはエクスポート統合には適用されないため、無視してください
  1. Continueを選択します
  2. 認証の名前を入力し、Doneを選択します

Audience Studioでのセグメントのアクティベーション

Audience Studioでアクティベーションを作成することで、ターゲットプラットフォームにセグメントデータを送信することもできます。

  1. Audience Studioに移動します
  2. 親セグメントを選択します
  3. ターゲットセグメントを開き、右クリックして、Create Activationを選択します
  4. Detailsパネルで、アクティベーション名を入力し、前のセクションのConfiguration Parametersに従ってアクティベーションを構成します
  5. Output Mappingパネルでアクティベーション出力をカスタマイズします

  • Attribute Columns
    • すべてのカラムを変更なしでエクスポートするには、Export All Columnsを選択します
    • エクスポート用の特定のカラムを追加するには、+ Add Columnsを選択します。Output Column Nameには、同じSourceカラム名が事前入力されます。Output Column Nameを更新できます。アクティベーション出力用の新しいカラムを追加するには、+ Add Columnsを選択し続けます
  • String Builder
    • エクスポート用の文字列を作成するには、+ Add stringを選択します。以下の値から選択します:
      • String: 任意の値を選択し、テキストを使用してカスタム値を作成します
      • Timestamp: エクスポートの日時
      • Segment Id: セグメントID番号
      • Segment Name: セグメント名
      • Audience Id: 親セグメント番号
  1. Scheduleを設定します

  • スケジュールを定義する値を選択し、オプションでメール通知を含めます
  1. Createを選択します

データをエクスポートするためのクエリ結果の構成

TD Consoleは、複数の方法でデータをエクスポートすることをサポートしています。Data Workbenchからデータをエクスポートするには、以下の手順を実行します。

  1. Data Workbench > Queriesに移動します
  2. New Queryを選択し、クエリを定義します
  3. Export Resultsを選択して、データエクスポートを構成します

  1. 既存の認証を選択するか、上記のセクションに従って新しい認証を作成します
  2. エクスポートパラメータを構成し、Doneを選択します
  3. オプションで、指定したターゲット宛先に定期的にデータをエクスポートするスケジュールを構成できます。詳細については、Scheduling Jobs on TD Consoleを参照してください

構成フィールド

FieldDescription
Container name既存のAzureストレージコンテナの名前
File pathAzureストレージ内のエクスポート場所。ファイル名とparquet拡張子を含みます。例: "folder/file.parquet"
Overwrite existing file?チェックボックスがオンの場合、既存のファイルが上書きされます
Parquet compressionサポートされているparquet圧縮: - Uncompressed - Gzip - Snappy
Row group size (MB)Parquet圧縮アルゴリズムは行グループごとにのみ適用されるため、行グループサイズが大きいほど、データを圧縮する機会が増えます。実際のデータスキーマに基づいてデータエクスポートを微調整するには、このフィールドを使用します。最小: 10 MB、最大: 1024 MB、デフォルト: 128 MB
Page size (KB)単一のレコードにアクセスするために完全に読み取る必要がある最小単位。この値が小さすぎると、圧縮が劣化します。実際のデータスキーマに基づいてデータエクスポートを微調整するには、このフィールドを使用します。最小: 8 KB、最大: 2048 KB、デフォルト: 1024 KB
Single file?有効にすると、単一のファイルが作成されます。それ以外の場合は、行グループサイズに基づいて複数のファイルが生成されます(圧縮が有効になっている場合、出力ファイルサイズは異なることに注意してください)
Advanced configurationこのオプションを有効にして、以下の詳細設定を調整します
Timestamp Unitタイムスタンプ単位をミリ秒またはマイクロ秒で構成します。デフォルト: ミリ秒
Enable Bloom filterBloomフィルターは、セットメンバーシップを近似する空間効率の高い構造で、明確な「いいえ」または「はいの可能性がある」という回答を提供します。このオプションを有効にして、生成されたparquetファイルにBloomフィルターを含めることができます
Retry limit最大リトライ回数。最小: 1、最大: 10、デフォルト: 5
Retry Wait (second)リトライを実行する前に待機する時間。最小: 1秒、最大: 300秒、デフォルト: 3秒
Number of concurrent threadsAzure Storageサービスへの同時リクエストの数。最小: 1、最大: 8、デフォルト: 4
Part size (MB)Azure Storageは、小さなチャンク(リクエストバッファサイズ)でのファイルアップロードをサポートしています。最小: 1 MB、最大: 100 MB、デフォルト: 8 MB

(オプション) CLIを使用したエクスポート統合

CLI(Toolbelt)を使用して、Parquetファイル形式でAzure Data Lakeへのクエリ結果のエクスポートをトリガーできます。td queryコマンドの--resultオプションとして、Azure Data Lake Storageへのエクスポート情報を指定する必要があります。td queryコマンドについては、この記事を参照してください。

オプションの形式はJSONであり、一般的な構造は以下の通りです。

{"type": "azure_datalake",  "authentication_mode": "account_key",  "account_name": "demo_account_name",  "proxy_type": "none",  "container_name": "demo_container_name",  "file_path": "joetest/test-3.parquet",  "overwrite_file": "true",  "compression": "uncompressed",  "row_group_size": "128",  "page_size": 1024,  "single_file": "false",  "advanced_configuration": "false"}

使用例

td query --result '{"type":"azure_datalake","authentication_mode":"account_key","account_name": "account name", "account_key": "account key", "proxy_type": "none", "container_name": "container", "file_path": "joe/test.parquet", "overwrite_file": "false", "compression": "uncompressed", "row_group_size": 128, "page_size": 1024, "single_file": true, "advanced_configuration": false}' -d sample_datasets "select * from sample_table" -T presto

Obtain Azure Data Lake Credentials

Microsoft Azure Portalにログインし、Storage accountsを選択します

Hierarchical Namespaceが有効になっていることを確認

ストレージアカウントを選択し、階層型名前空間オプションが有効になっていることを確認します。

Access keyの取得

統合にAccess Keyを使用するには:

  1. Security + networkingメニューからAccess keysを選択します
  2. Showボタンを選択し、アクセスキーをコピーします

Shared Access Signatureの使用

統合にShared Access Signatureを使用するには:

  1. Security + networkingメニューからShared access signatureを選択します
  2. Shared Access Signatureの権限と有効期限を構成します
  3. Generate SAS and connection stringボタンを選択し、SASトークンをコピーします