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

LakeFlow Connectのコミュニティ コネクタ

備考

ベータ版

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

コミュニティコネクタは、マネージドコネクタのサポートがないソースに対してLakeflow Connectを拡張するオープンソースのコネクタです。コミュニティがそれらを構築および維持しています。このページでは、コミュニティコネクタを使用して、サポートされているソースからDatabricksにデータを取り込む方法を説明します。

まだサポートされていないソース用の独自のコネクターを構築するには、「カスタムコネクターの構築」を参照してください。カスタムコネクターをコミュニティに提供することなく、独自のワークスペースでランできます。

コミュニティコネクターの仕組み

コミュニティコネクタは、Spark PythonデータソースAPIをラップするLakeflowConnectインターフェース上に構築されています。各コネクタは、認証、スキーマ検出、増分データ読み取りを処理するため、Lakeflow Pipelinesによってサポートされるインジェストパイプラインを作成、設定、およびランできます。

コミュニティ コネクタを使用すると、 Databricksコネクタのソース コードをGitHubリポジトリから指定したワークスペース ディレクトリに複製します。 次に、パイプラインはランタイム時にコネクタのソース コードを読み取り、構成されたソースに対して取り込みロジックを実行します。

サポートされているソース

コミュニティによって新しいコネクタが定期的に追加されています。サポートされているソースの最新リストについては、Databricksワークスペースのデータ追加UI( データ取り込み )またはGitHubのLakeFlow コミュニティ Connectorsリポジトリを参照してください。

要件

  • Unity Catalogが有効になっているDatabricksワークスペース
  • 取り込み対象のソースへの接続、または接続を作成するための権限
  • 取り込まれたテーブルに対するカタログおよびスキーマへの書き込みアクセス権

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

コミュニティコネクタを使用してデータを取り込むには:

  1. Databricks ワークスペースのサイドバーで、 +新規 > データを追加またはupload の順にクリックし、 コミュニティコネクタ の下にあるソースを選択します。

  2. + Create connection をクリックするか、既存の接続を選択してから、 Next をクリックします。

  3. パイプライン名 に、パイプラインの名前を入力します。

  4. イベントlogの場所 に、カタログ名とスキーマ名を入力します。Databricks は、ここにパイプラインイベントログを保存します。取り込まれたテーブルも、defaultでここに書き込まれます。

  5. ルートパス 」に、ワークスペースパス(例:/Workspace/Users/<your-email>/connectors)を入力します。Databricks は、コネクタのソースコードをここに複製して保存します。

  6. パイプラインの作成 をクリックします。

  7. パイプライン エディターで ingest.py を開き、 objects フィールドを更新して、取り込むテーブルを含めます。例えば:

    Python
    from databricks.labs.community_connector.pipeline import ingest

    pipeline_spec = {
    "connection_name": "my_stripe_connection", # Required: UC connection name
    "objects": [
    {"table": {"source_table": "charges"}},
    {"table": {"source_table": "customers",
    "destination_table": "stripe_customers"}},
    ],
    }

    ingest(spark, pipeline_spec)
  8. パイプラインを手動でランするか、スケジュールを設定します。

パイプラインの構成オプション

ingest.py で次のオプションを構成できます:

オプション

説明

connection_name

必須。ソースの認証資格情報を保存する接続の名前。

objects

必須。取り込むテーブルのリスト。各エントリの形式は{"table": {"source_table": "..."}}です。tableオブジェクト内に、オプションでdestination_tableを指定することもできます。

destination_catalog

取り込まれたテーブルが書き込まれるカタログです。パイプライン作成時に設定されたカタログがdefaultになります。

destination_schema

取り込まれたテーブルが書き込まれるスキーマです。パイプライン作成時に設定されたスキーマがdefaultで使用されます。

scd_type

slowly changing dimension戦略: SCD_TYPE_1SCD_TYPE_2、または APPEND_ONLY。default は SCD_TYPE_1 です。

primary_keys

テーブルのdefaultのプライマリーキーを上書きします。列名のリストを指定します。

オプション

説明

connection_name

必須。ソースの認証資格情報を保存する接続の名前。

objects

必須。取り込むテーブルのリスト。各エントリの形式は{"table": {"source_table": "..."}}です。tableオブジェクト内に、オプションでdestination_tableを指定することもできます。

destination_catalog

取り込まれたテーブルが書き込まれるカタログです。パイプライン作成時に設定されたカタログがdefaultになります。

destination_schema

取り込まれたテーブルが書き込まれるスキーマです。パイプライン作成時に設定されたスキーマがdefaultで使用されます。

scd_type

slowly changing dimension戦略: SCD_TYPE_1SCD_TYPE_2、または APPEND_ONLY。default は SCD_TYPE_1 です。

primary_keys

テーブルのdefaultのプライマリーキーを上書きします。列名のリストを指定します。

考慮事項

  • コミュニティコネクターは現在、積極的に開発中です。インターフェースおよび動作は変更される場合があります。
  • Databricksはコミュニティコネクタを管理していません。これらはDatabricksのSLA(サービスレベル契約)の対象ではなく、将来の互換性も保証されません。

フィードバックを送信する

LakeFlowコミュニティコネクタリポジトリでバグを報告し、機能リクエストを送信してください。