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

Google Drive からデータを取り込む

Databricks UI、Declarative Automation Bundles、またはノートブックを使用して、Lakeflow Connect で管理対象の Google Drive インジェスト パイプラインを作成します。パイプラインは、Google Drive から Delta テーブルにファイルをインジェストし、ソースと同期した状態に維持します。

始める前に

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

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

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

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

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

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

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

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

  • Unity Catalog 接続を作成します。Google Drive 取り込みのセットアップの概要を参照してください。

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

サポートされているファイル形式とコネクタ固有の制限事項の一覧については、Google Drive コネクタの制限事項を参照してください。

  1. Databricksワークスペースのサイドバーで、 データ取り込み をクリックします。

  2. データの追加 ページの Databricks コネクタ セクションで、 Google ドライブ をクリックします。

  3. 取り込みウィザードの Connection ステップで、Google Drive アクセス資格情報を保存する接続を選択します。

  4. 次へ をクリックします。

  5. インジェストのセットアップ ステップで、パイプラインの名前を入力します。

  6. パイプラインを保存するカタログとスキーマを選択します。

  7. 取り込みパイプラインを作成し、コンピュートを起動 をクリックします。

  8. ソース ステップで、取り込み元の各 Google Drive フォルダー、ドライブ、または共有ドライブの URL を入力し、ファイル取り込みオプションを構成します。

  9. 保存して続行 をクリックします。

  10. 宛先 ステップで、データをロードするカタログとスキーマを選択します。カタログに対する USE CATALOG 権限と CREATE SCHEMA 権限がある場合は、ドロップダウン メニューの プラスアイコン。 スキーマの作成 をクリックして新しいスキーマを作成できます。

  11. 保存して続行 をクリックします。

  12. (オプション) Schedules and notificationsステップで、プラスアイコン。 スケジュールの作成 をクリックします。宛先テーブルを更新する頻度を設定します。

  13. (オプション)パイプラインの操作の成功または失敗に関するEメール通知を設定するには、 プラスアイコン。 通知を追加 をクリックします。

  14. パイプラインの保存と実行 をクリックします。

これらの例を使用してパイプラインを設定してください。

ファイルを非構造化データとして取り込む

Google ドライブフォルダー内のすべてのファイルをバイナリコンテンツとして取り込みます。このアプローチは、PDF、Officeドキュメント、およびRAGアプリケーションなどでダウンストリーム処理することを意図したその他のファイルにご利用ください。

注記

ベータ版で利用可能な FILE 型は、ファイルのバイトデータではなく、各ファイルとそのメタデータへのガバナンスされたリファレンスを格納するため、読み取りパフォーマンスが向上します。ファイルを BINARYFILE ではなく FILE 型として取り込むには、FILE 型としてファイルを取り込む (ベータ版) を参照してください。

YAML
resources:
pipelines:
gdrive_binary_pipeline:
name: gdrive_binary_pipeline
catalog: main
schema: ingest_destination_schema
channel: PREVIEW
ingestion_definition:
connection_name: <gdrive-connection>
objects:
- table:
destination_catalog: main
destination_schema: ingest_destination_schema
destination_table: drive_folder
connector_options:
gdrive_options:
entity_type: FILE
url: https://drive.google.com/drive/folders/<folder_id>
file_ingestion_options:
format: BINARYFILE
schema_evolution_mode: NONE

ファイルを FILE タイプとして取り込む (ベータ版)

備考

ベータ版

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

ファイルを FILE タイプとして取り込むことで、ファイルのバイトデータではなく、各ファイルとそのメタデータへのガバナンスされた参照を保存します。宛先テーブルは、ai_parse_document 関数ユーザー定義関数(UDF)などの関数に渡すことができる file 列を公開します。

FILE タイプを使用するには、パイプラインで以下を設定します:

  • パイプラインの channelPREVIEW に設定します。
  • file_ingestion_options.formatFILE に設定します。
  • databricks.filespace-preview テーブルプロパティを設定して、Unity Catalog がマネージドストレージとして使用するボリュームを宣言します。
YAML
resources:
pipelines:
gdrive_file_pipeline:
name: gdrive_file_pipeline
channel: PREVIEW
catalog: <catalog>
schema: <schema>
ingestion_definition:
connection_name: <gdrive-connection>
objects:
- table:
destination_catalog: <catalog>
destination_schema: <schema>
destination_table: <destination-table>
table_configuration:
table_properties:
databricks.filespace-preview: /Volumes/<catalog>/<schema>/<volume>/
connector_options:
gdrive_options:
entity_type: FILE
url: https://drive.google.com/drive/folders/<folder_id>
file_ingestion_options:
format: FILE
schema_evolution_mode: NONE

パスフィルターを使用して構造化ファイルを取り込む

Google DriveフォルダーからCSVファイルを取り込むfile_filters を使用して、glob パターンに一致するファイルへの取り込みを制限します。

YAML
resources:
pipelines:
gdrive_csv_pipeline:
name: gdrive_csv_pipeline
catalog: main
schema: ingest_destination_schema
channel: PREVIEW
ingestion_definition:
connection_name: <gdrive-connection>
objects:
- table:
destination_catalog: main
destination_schema: ingest_destination_schema
destination_table: csv_files
connector_options:
gdrive_options:
entity_type: FILE
url: https://drive.google.com/drive/folders/<folder_id>
file_ingestion_options:
format: CSV
schema_evolution_mode: NONE
file_filters:
- path_filter: '*.csv'

ファイルメタデータのみ取り込み

ファイルコンテンツをダウンロードせずに、ファイルメタデータ(名前、サイズ、タイムスタンプ、パス)を取り込みます。コンテンツの取り込みに伴うオーバーヘッドなしに、ファイルのインベントリが必要な場合は、このアプローチを使用してください。

YAML
resources:
pipelines:
gdrive_metadata_pipeline:
name: gdrive_metadata_pipeline
catalog: main
schema: ingest_destination_schema
channel: PREVIEW
ingestion_definition:
connection_name: <gdrive-connection>
objects:
- table:
destination_catalog: main
destination_schema: ingest_destination_schema
destination_table: file_metadata
connector_options:
gdrive_options:
entity_type: FILE_METADATA
url: https://drive.google.com/drive/folders/<folder_id>
file_ingestion_options:
format: BINARYFILE
schema_evolution_mode: NONE

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

以下は、宣言型オートメーションバンドルで使用するジョブ定義ファイルの例です。ジョブは、前回の実行からちょうど1日後に毎日実行されます。

YAML
resources:
jobs:
gdrive_job:
name: gdrive_job

trigger:
periodic:
interval: 1
unit: DAYS

email_notifications:
on_failure:
- <email-address>

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

インジェスト用のファイルオプションを構成する

file_ingestion_options ブロックがファイルの処理方法を制御します。すべてのオプションは、パイプライン定義の「gdrive_options.file_ingestion_options」ブロック内に設定されます。

ファイルフィルター

ソースURLから取り込まれるファイルを制限するには、file_filtersを使用します。

JSON
"file_ingestion_options": {
"format": "CSV",
"file_filters": [
{ "path_filter": "invoices/*.csv" },
{ "modified_after": "2026-01-01T00:00:00" }
]
}

完全なfile_ingestion_optionsパラメーターリファレンスについては、Google Drive コネクタ リファレンスを参照してください。

スキーマ進化

新しい列が入力ファイルでどのように処理されるかを制御するには、schema_evolution_mode を設定します。モードはAuto Loaderのスキーマ進化モードと一致します。詳細については、「Google Drive コネクタ リファレンス」を参照してください。

スキーマのヒント

推論された列のデータ型をschema_hintsで上書きする:

JSON
"file_ingestion_options": {
"format": "CSV",
"schema_hints": "order_id INT, amount DOUBLE, ts TIMESTAMP"
}

使用法の詳細については、スキーマヒントを使用してスキーマ推論をオーバーライドするを参照してください。

形式固有のオプション

形式固有のオプションをformat_optionsを使用して指定します:

JSON
"file_ingestion_options": {
"format": "CSV",
"format_options": {
"header": "true",
"sep": ","
}
}

サポートされているキーは、標準のAuto Loader形式オプションです。「形式オプション」を参照してください。

一般的なパターン

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

次のステップ

パイプラインの開始、スケジュール、アラートを設定する共通パイプラインメンテナンス タスクを参照してください。

その他のリソース