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

Workday レポートの取り込み

LakeFlow Connectを使用して Workday レポートをDatabricksに取り込む方法を学習します。

要件

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

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

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

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

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

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

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

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

  • Workday から取り込むには、まず「取り込み用に Workday レポートを構成する」のステップを完了する必要があります。

インジェスト パイプラインを作成する

  1. Databricksワークスペースのサイドバーで、 データ取り込み をクリックします。
  2. [ データの追加 ] ページの [Databricks コネクタ ] で、[ Workday レポート] をクリックします。
  3. 取り込みウィザードの 「接続」 ページで、Workday レポートのアクセス資格情報を保存する接続を選択します。メタストアにCREATE CONNECTION権限がある場合は、クリックして プラスアイコン。接続を作成して取り込み用の Workday レポートの構成 の認証詳細を使用して新しい接続を作成します。
  4. 次へ をクリックします。
  5. インジェスチョン設定 ページで、パイプラインの一意の名前を入力します。
  6. イベント ログを書き込むカタログとスキーマを選択します。カタログに対してUSE CATALOGCREATE SCHEMA権限を持っている場合は、クリックできます。 プラスアイコン。 新しいスキーマを作成するには、ドロップダウン メニューでスキーマを作成します。
  7. パイプラインの作成および続行 をクリックします。
  8. レポート ページで、 プラスアイコン。レポートを追加し 、レポートの URL を入力します。取り込むレポートごとに繰り返します。
  9. 保存して続行 をクリックします。
  10. [宛先] ページで、データをロードするカタログとスキーマを選択します。カタログに対してUSE CATALOGCREATE SCHEMA権限を持っている場合は、クリックできます。 プラスアイコン。 新しいスキーマを作成するには、ドロップダウン メニューでスキーマを作成します。
  11. 保存して続行 をクリックします。
  12. (オプション) スケジュールと通知 ページで、 プラスアイコン。スケジュールを作成します 。宛先テーブルを更新する頻度を設定します。
  13. (オプション)クリック プラスアイコン。通知を追加して パイプライン操作の成功または失敗に関する電子メール通知を設定し、 [保存してパイプラインを実行] をクリックします。

これらの例を使用してパイプラインを構成します。

単一のレポートを取り込む

次のパイプライン定義ファイルは、単一の Workday レポートを取り込みま す。

YAML
variables:
dest_catalog:
default: main
dest_schema:
default: ingest_destination_schema

# The main pipeline for workday_dab
resources:
pipelines:
pipeline_workday:
name: workday_pipeline
catalog: ${var.dest_catalog}
schema: ${var.dest_schema}
ingestion_definition:
connection_name: <workday-connection>
objects:
# An array of objects to ingest from Workday. This example ingests a report about all active employees.
- report:
source_url: https://wd2-impl-services1.workday.com/ccx/service/customreport2/All_Active_Employees_Data?format=json
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}
destination_table: All_Active_Employees_Data
table_configuration:
primary_keys:
- Employee_ID

複数のレポートを取り込む

次のパイプライン定義ファイルは、2 つの Workday レポートを別々のスキーマに取り込みます。

注記

複数の宛先パイプラインのサポートは API のみです。Databricks UI から複数の宛先スキーマを構成することはできません。

YAML
resources:
pipelines:
pipeline_workday:
name: workday_pipeline
catalog: my_catalog_1 # Location of the pipeline event log
schema: my_schema_1 # Location of the pipeline event log
ingestion_definition:
connection_name: <workday-connection>
objects:
- report:
source_url: <report-url-1>
destination_catalog: my_catalog_1
destination_schema: my_schema_1
destination_table: my_table_1
table_configuration:
primary_keys:
- <primary_key_column>
- report:
source_url: <report-url-2>
destination_catalog: my_catalog_2
destination_schema: my_schema_2
destination_table: my_table_2
table_configuration:
primary_keys:
- <primary_key_column>

バンドルジョブ定義ファイル

以下は、宣言型自動化バンドルで使用するジョブ定義ファイルの例です。ジョブは毎日、最後の実行からちょうど 1 日後に実行されます。

YAML
resources:
jobs:
workday_dab_job:
name: workday_dab_job

trigger:
periodic:
interval: 1
unit: DAYS

email_notifications:
on_failure:
- <email-address>

tasks:
- task_key: refresh_pipeline
pipeline_task:
pipeline_id: ${resources.pipelines.pipeline_workday.id}

一般的なパターン

高度なパイプライン構成については、 「管理された取り込みパイプラインの一般的なパターン」を参照してください。

次のステップ

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

追加のリソース