Important
この機能は ベータ版です。 ワークスペース管理者は、[ プレビュー] ページからこの機能へのアクセスを制御できます。 Manage Azure Databricks プレビューを参照してください。
コミュニティ コネクタは、マネージド コネクタをサポートせずに Lakeflow Connect をソースに拡張するオープンソース コネクタです。 コミュニティはそれらを構築し、維持します。 このページでは、コミュニティコネクタを使ってサポートされているソースからAzure Databricksにデータを取り込む方法を示しています。
まだサポートされていないソース用の自分専用コネクタを作りたい場合は、「 Lakeflow Connectのカスタムコネクタを作ってください」をご覧ください。 自分のワークスペースでカスタムコネクタを動かすこともできますが、それをコミュニティに貢献する必要はありません。
コミュニティ コネクタのしくみ
コミュニティ コネクタは、Spark Python データ ソース API をラップする LakeflowConnect インターフェイス上に構築されています。 各コネクタは、認証、スキーマ検出、増分データ読み取りを処理するため、 Lakeflow パイプラインによってサポートされるインジェスト パイプラインを作成、構成、実行できます。
コミュニティ コネクタを使用Azure Databricks、コネクタのソース コードを GitHub リポジトリから指定したワークスペース ディレクトリに複製します。 その後、パイプラインは実行時にコネクタのソース コードを読み取り、構成されたソースに対してインジェスト ロジックを実行します。
サポートされているソース
コミュニティは定期的に新しいコネクターを追加しています。 サポートされているソースの最新の一覧については、Azure Databricks ワークスペースのデータ UI の追加 (Data Ingestion) または GitHub の Lakeflow Community Connectors リポジトリを参照してください。
必要条件
- Unity カタログが有効になっているAzure Databricks ワークスペース
- 取り込み元への接続、またはその接続を作成するためのアクセス許可
- 取り込んだテーブルを書き込むカタログとスキーマへの書き込みアクセス権
インジェスト パイプラインを作成する
コミュニティコネクタを使ってデータを取り込む方法:
Azure Databricks ワークスペースのサイドバーで、 + 新規>データの追加またはアップロードをクリックし、Community コネクタの下にあるソースを選択します。
[ + 接続の作成 ] をクリックするか、既存の接続を選択して、[ 次へ] をクリックします。
[ パイプライン名] に、パイプラインの名前を入力します。
イベント ログの場所には、カタログ名とスキーマ名を入力します。 Azure Databricksパイプライン イベント ログがここに格納されます。 取り込まれたテーブルも既定でここに書き込まれます。
[ルート パス] に、ワークスペース パス (たとえば、
/Workspace/Users/<your-email>/connectors) を入力します。 Azure Databricksコネクタのソース コードをここに複製して格納します。[ パイプラインの作成] をクリックします。
パイプライン エディターで、
ingest.pyを開き、取り込むテーブルを含むように オブジェクト フィールドを更新します。 例えば次が挙げられます。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)パイプラインを手動で実行するか、スケジュールします。
パイプライン構成オプション
ingest.pyで次のオプションを構成できます。
| オプション | Description |
|---|---|
connection_name |
必須です。 ソースの認証資格情報を格納する接続の名前。 |
objects |
必須です。 取り込むテーブルの一覧。 各エントリには、 {"table": {"source_table": "..."}}形式があります。
destination_table オブジェクト内で省略可能なtableを指定することもできます。 |
destination_catalog |
取り込まれたテーブルが書き込まれるカタログ。 パイプライン作成時に設定されたカタログがデフォルトになります。 |
destination_schema |
取り込まれたテーブルが書き込まれるスキーマ。 既定では、パイプラインの作成時にスキーマ セットが設定されます。 |
scd_type |
緩やかに変化するディメンション戦略: SCD_TYPE_1、 SCD_TYPE_2、または APPEND_ONLY。 既定値は SCD_TYPE_1 です。 |
primary_keys |
テーブルの既定の主キーをオーバーライドします。 列名の一覧を指定します。 |
考慮事項
- コミュニティ コネクタは、開発中です。 インターフェイスと動作は変更される可能性があります。
- Databricks では、コミュニティ コネクタは維持されません。 これらは Databricks SLA によってサポートされておらず、前方互換性を保証するものではありません。
フィードバックを送信する
Lakeflow Community Connectors リポジトリでバグを報告し、機能要求を送信します。