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

Shopifyからデータを取り込む

備考

ベータ版

This feature is in Beta.To use it, a ワークスペース admin must turn on Lakeflow Connect for Shopify from the Previews page.See Manage Databricks previews.

このページでは、Lakeflow Connect を使用してマネージド Shopify インジェスト パイプラインを作成する方法について説明します。

要件

  • 取り込みパイプラインを作成するには、まず次の要件を満たす必要があります。

    • ワークスペースでUnity Catalogが有効になっている必要があります。

    • Serverless コンピュートをワークスペースで有効にする必要があります。Serverless コンピュートの要件を参照してください。

    • 新しい接続を作成するには、メタストアに対する CREATE CONNECTION 特権が必要です。Unity Catalog での特権の管理を参照してください。

      コネクタが UI ベースのパイプライン オーサリングをサポートしている場合、管理者はこのページのステップを完了することで、接続とパイプラインを同時に作成できます。 ただし、パイプラインを作成するユーザーが API ベースのパイプライン オーサリングを使用している場合、または管理者以外のユーザーである場合、管理者はまずカタログ エクスプローラーで接続を作成する必要があります。 「管理対象取り込みソースへの接続」を参照してください。

    • 既存の接続を使用するには、接続オブジェクトに対する USE CONNECTION 権限または ALL PRIVILEGES 権限が必要です。

    • ターゲットカタログに対する USE CATALOG 権限が必要です。

    • 既存のスキーマに対するUSE SCHEMAおよびCREATE TABLE権限、またはターゲットカタログに対するCREATE SCHEMA権限が必要です。

  • Shopify から取り込むには、まず Databricks から認証を構成し、接続を作成します。Shopify への認証の構成およびShopify 接続の作成を参照してください。

コネクター オプション

パイプラインスコープのオプションを source_configurations で設定します。使用方法については、Examplesを参照してください。

オプション

スコープ

必須

適用対象

説明

start_datetime

パイプライン

No

すべてのインクリメンタルテーブル

データをyyyy-MM-ddTHH:mm:ssXXX形式で取り込む最も早い日時。defaultは、初回同期の365日前です。各テーブルの初回同期にのみ適用されます。それ以降の同期は、保存されたカーソルから再開されます。

オプション

スコープ

必須

適用対象

説明

start_datetime

パイプライン

No

すべてのインクリメンタルテーブル

データをyyyy-MM-ddTHH:mm:ssXXX形式で取り込む最も早い日時。defaultは、初回同期の365日前です。各テーブルの初回同期にのみ適用されます。それ以降の同期は、保存されたカーソルから再開されます。

取り込みパイプラインを作成

サポートされているソース テーブルの一覧については、サポートされているソース テーブルを参照してください。

  1. Databricksワークスペースのサイドバーで、 データ取り込み をクリックします。
  2. データの追加 ページの Databricks コネクタ で、 Shopify をクリックします。
  3. On the Connection page of the ingestion wizard, select the connection that stores your Shopify credentials.If you have the CREATE CONNECTION privilege on the metastore, click プラスアイコン。 Create connection to create a connection with the credentials from Configure authentication to Shopify.
  4. 次へ をクリックします。
  5. インジェスト設定 ページで、パイプラインの名前を入力します。
  6. イベント Logs を書き込むカタログとスキーマを選択します。カタログに対する USE CATALOG 権限および CREATE SCHEMA 権限がある場合は、ドロップダウン メニューで プラスアイコン。 [スキーマの作成] をクリックしてスキーマを作成します。
  7. パイプラインの作成および続行 をクリックします。
  8. On the Source page, select the tables to ingest.
  9. 保存して続行 をクリックします。
  10. 宛先 ページで、データを読み込むカタログとスキーマを選択します。カタログに対する USE CATALOG 権限と CREATE SCHEMA 権限がある場合は、ドロップダウン メニューの プラスアイコン。 Create schema をクリックしてスキーマを作成します。
  11. 保存して続行 をクリックします。
  12. (オプション) スケジュールと通知 ページで、 プラスアイコン。 スケジュールの作成 をクリックします。宛先テーブルを更新する頻度を設定します。
  13. (オプション) プラスアイコン。 通知の追加 をクリックして、パイプライン操作の成功または失敗に関するEメール通知を設定し、 保存してパイプラインを実行 をクリックします。

Shopify コネクタにより、defaultソーススキーマで 39 個のソーステーブルを利用できるようになります。個別のテーブルまたはスキーマ全体を取り込みます。

特定のテーブルを取り込む

このオプションを使用して、テーブルの特定のサブセットを取り込むか、テーブルごとの宛先名をカスタマイズします。

次のパイプライン定義ファイルは、Shopify の個別のテーブルを取り込みます。

YAML
resources:
pipelines:
shopify_pipeline:
name: shopify_pipeline
catalog: 'main'
target: 'shopify_data'
ingestion_definition:
connection_name: shopify_connection
objects:
- table:
source_schema: 'default'
source_table: 'products'
destination_catalog: 'main'
destination_schema: 'shopify_data'
destination_table: 'products'
- table:
source_schema: 'default'
source_table: 'orders'
destination_catalog: 'main'
destination_schema: 'shopify_data'
destination_table: 'orders'
- table:
source_schema: 'default'
source_table: 'customers'
destination_catalog: 'main'
destination_schema: 'shopify_data'
destination_table: 'customers'

特定の一覧の起動日から取り込む

初回同期時にインクリメンタル テーブルがどのくらい過去まで読み込むかを制御するには、start_datetime オプションを使用します。

The following パイプライン definition file ingests Shopify tables from a specific 起動 date:

YAML
resources:
pipelines:
shopify_pipeline:
name: shopify_pipeline
catalog: 'main'
target: 'shopify_data'
ingestion_definition:
connection_name: shopify_connection
source_configurations:
- api_source_connector_config:
configs:
start_datetime: '<start-datetime>'
objects:
- table:
source_schema: 'default'
source_table: 'products'
destination_catalog: 'main'
destination_schema: 'shopify_data'
destination_table: 'products'
- table:
source_schema: 'default'
source_table: 'orders'
destination_catalog: 'main'
destination_schema: 'shopify_data'
destination_table: 'orders'

スキーマ全体を取り込む

このオプションを使用すると、1 つの宣言ですべての Shopify ソース テーブルを単一の宛先スキーマに取り込むことができます。

以下のパイプライン定義ファイルは、サポートされているすべての Shopify テーブルを送信先スキーマに取り込みます。

YAML
resources:
pipelines:
shopify_pipeline:
name: shopify_pipeline
catalog: 'main'
target: 'shopify_data'
ingestion_definition:
connection_name: shopify_connection
objects:
- schema:
source_schema: 'default'
destination_catalog: 'main'
destination_schema: 'shopify_data'

Declarative Automation Bundles ジョブ definition file

以下は、宣言型オートメーションバンドルで使用するジョブ定義ファイルの例です。ジョブは毎日実行されます。

YAML
resources:
jobs:
shopify_job:
name: shopify_job
schedule:
quartz_cron_expression: '0 0 0 * * ?'
timezone_id: 'UTC'
tasks:
- task_key: shopify_ingestion
pipeline_task:
pipeline_id: ${resources.pipelines.shopify_pipeline.id}

一般的なパターン

高度なパイプラインの設定については、「管理対象インジェストパイプラインの一般的なパターン」を参照してください。

次のステップ

パイプラインの起動、スケジュール、アラートの設定を行います。一般的なパイプラインのメンテナンス タスクを参照してください。

その他のリソース