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

Notion からデータを取り込む

備考

ベータ版

この機能はベータ版です。ワークスペース管理者は、 Notion コネクタ のプレビューにオプトインすることで、 プレビュー ページからこの機能へのアクセスを制御できます。Databricksのプレビューを管理するを参照してください。

このページでは、Lakeflow Connectを使用して管理されたNotionインジェストパイプラインを作成する方法を示します。

要件

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

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

    • Serverlessコンピュートはワークスペースで有効化する必要があります。See Serverless コンピュート要件.

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

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

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

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

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

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

インジェスションパイプラインの作成

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

  1. Databricksワークスペースのサイドバーで、 データ取り込み をクリックします。
  2. データの追加 ページの Databricks コネクタ で、 Notion をクリックします。
  3. 取り込みウィザードの 接続 ページで、Notion の認証情報を保存している接続を選択します。メタストアに対する CREATE CONNECTION 特権がある場合は、 プラスアイコン。 接続の作成 をクリックして、Notion の認証の設定の認証情報を使用して接続を作成します。
  4. 次へ をクリックします。
  5. インジェスト設定 ページで、パイプラインの名前を入力します。
  6. イベントLogsの書き込み先となるカタログとスキーマを選択します。カタログに対するUSE CATALOG権限とCREATE SCHEMA権限がある場合は、ドロップダウンメニューの プラスアイコン。 スキーマを作成 をクリックしてスキーマを作成します。
  7. パイプラインの作成および続行 をクリックします。
  8. ソース ページで、取り込むテーブルを選択します。
  9. 保存して続行 をクリックします。
  10. 宛先 ページで、データをロードするカタログとスキーマを選択します。カタログに対する USE CATALOG 権限と CREATE SCHEMA 権限がある場合は、ドロップダウンメニューの プラスアイコン。 スキーマの作成 をクリックしてスキーマを作成します。
  11. 保存して続行 をクリックします。
  12. (オプション) スケジュールと通知 ページで、 プラスアイコン。スケジュールを作成します 。デスティネーションテーブルを更新する頻度を設定してください。
  13. (オプション) プラスアイコン。 通知の追加 をクリックして、パイプライン操作の成功または失敗に関するEメール通知を設定し、 保存してパイプラインを実行 をクリックします。

Notion コネクタは、default ソーススキーマ内の 7 つのソーステーブルを利用可能にします。個別のテーブル、または必要なテーブルを取り込みます。

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

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

パイプライン定義において、notion_pipelineリソースはパイプラインを定義し、objects配列は取り込むテーブルをリストします。各エントリは、defaultソーススキーマ内のsource_tableを、その宛先カタログ、スキーマ、およびテーブルにマッピングします。destination_tableはオプションです。省略した場合、コネクタはsource_tableに基づいて宛先テーブルに名前を付けます。

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

YAML
resources:
pipelines:
notion_pipeline:
name: notion_pipeline
catalog: 'main'
target: 'notion_data'
ingestion_definition:
connection_name: notion_connection
objects:
- table:
source_schema: 'default'
source_table: 'pages'
destination_catalog: 'main'
destination_schema: 'notion_data'
destination_table: 'pages'
- table:
source_schema: 'default'
source_table: 'data_sources'
destination_catalog: 'main'
destination_schema: 'notion_data'
destination_table: 'data_sources'
- table:
source_schema: 'default'
source_table: 'blocks'
destination_catalog: 'main'
destination_schema: 'notion_data'
destination_table: 'blocks'

宣言型オートメーションバンドルのジョブ定義ファイル

以下は、宣言的自動化バンドルで使用するジョブ定義の例です。ジョブは毎日実行される。

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

一般的なパターン

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

次のステップ

パイプラインのアラートを起動し、スケジュールし、設定しましょう。詳細は 「一般的なパイプライン保守タスク」を参照してください。

その他のリソース