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

GitLab からデータを取り込む

備考

ベータ版

この機能はベータ版です。使用するには、ワークスペース管理者が [プレビュー] ページから Lakeflow Connect for GitLab を有効にする必要があります。Databricks のプレビューの管理を参照してください。

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

要件​

  • To create an ingestion パイプライン, first meet the following requirements:

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

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

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

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

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

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

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

  • To ingest from GitLab, first configure authentication from Databricks and create a connection.See Configure authentication to GitLab and Create a GitLab connection.

コネクターオプション​

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

オプション

スコープ

必須

適用対象

説明

start_datetime

パイプライン

No

すべての増分テーブル

初回同期時に取り込む最も古いレコードのTimestamp (yyyy-MM-dd'T'HH:mm:ss.SSS'Z' 形式)。defaultについては、コネクター オプションを参照してください。

オプション

スコープ

必須

適用対象

説明

start_datetime

パイプライン

No

すべての増分テーブル

初回同期時に取り込む最も古いレコードのTimestamp (yyyy-MM-dd'T'HH:mm:ss.SSS'Z' 形式)。defaultについては、コネクター オプションを参照してください。

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

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

  1. Databricksワークスペースのサイドバーで、 データ取り込み をクリックします。
  2. [データの追加] ページの [Databricks コネクタ] で、 [GitLab] をクリックします。
  3. On the Connection page of the ingestion wizard, select the connection that stores your GitLab 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 GitLab.
  4. 次へ をクリックします。
  5. [インジェスト設定] ページで、パイプラインの名前を入力します。
  6. データを書き込むカタログとスキーマを選択します。カタログに対する USE CATALOG および CREATE SCHEMA 権限がある場合は、ドロップダウン メニューの プラスアイコン。 スキーマの作成 をクリックしてスキーマを作成します。
  7. パイプラインの作成および続行 をクリックします。
  8. ソース ページで、取り込むテーブルを選択します。
  9. 保存して続行 をクリックします。
  10. 宛先 ページで、データをロードするカタログとスキーマを選択します。カタログに対する USE CATALOG 権限と CREATE SCHEMA 権限がある場合は、ドロップダウンメニューで プラスアイコン。 スキーマを作成 をクリックしてスキーマを作成します。
  11. 保存して続行 をクリックします。
  12. (オプション) [スケジュールと通知] ページで、 プラスアイコン。 スケジュールの作成 をクリックします。宛先テーブルを更新する頻度を設定します。
  13. (オプション) プラスアイコン。 通知の追加 をクリックして、パイプライン操作の成功または失敗に対するEメール通知を設定し、 [保存してパイプラインラン] をクリックします。

例​

GitLab コネクタにより、default ソーススキーマで 28 のソーステーブルを利用できるようになります。次の例では、特定のテーブルを取り込みます。

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

Use this option to ingest a specific subset of tables, or to customize destination naming per table.

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

YAML
resources:
pipelines:
gitlab_pipeline:
name: gitlab_pipeline
catalog: 'main'
target: 'gitlab_data'
ingestion_definition:
connection_name: gitlab_connection
source_configurations:
- api_source_connector_config:
configs:
start_datetime: '<start-datetime>'
objects:
- table:
source_schema: 'default'
source_table: 'projects'
destination_catalog: 'main'
destination_schema: 'gitlab_data'
destination_table: 'projects'
- table:
source_schema: 'default'
source_table: 'issues'
destination_catalog: 'main'
destination_schema: 'gitlab_data'
destination_table: 'issues'
- table:
source_schema: 'default'
source_table: 'merge_requests'
destination_catalog: 'main'
destination_schema: 'gitlab_data'
destination_table: 'merge_requests'
- table:
source_schema: 'default'
source_table: 'commits'
destination_catalog: 'main'
destination_schema: 'gitlab_data'
destination_table: 'commits'

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

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

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

一般的なパターン​

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

次のステップ​

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

その他のリソース​