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

GitHubコネクタの制限事項

備考

ベータ版

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

このページにはLakeFlow ConnectのマネージドGitHubコネクタの既知の制限事項に関する情報が記載されています。

一般的な制限事項

  • スケジュールされたパイプラインを実行しても、アラートはすぐには発生しません。代わりに、それらは次のアップデートが実行されたときにトリガーされます。
  • ソース テーブルが削除されても、宛先テーブルは自動的に削除されません。宛先テーブルを手動で削除する必要があります。この動作は、Lakeflow の Spark宣言型パイプラインの動作と一致しません。
  • データソースのメンテナンス期間中は、Databricksがお客様のデータにアクセスできない場合があります。
  • ソーステーブル名が既存の宛先テーブル名と競合する場合、パイプラインの更新は失敗します。
  • 複数宛先パイプラインのサポートはAPIのみで提供されます。
  • 取り込んだテーブルの名前は、必要に応じて変更できます。パイプライン内のテーブルの名前を変更すると、そのパイプラインはAPI専用となり、UIでパイプラインを編集できなくなります。
  • パイプラインが既に開始された後に列を選択した場合、コネクタは新しい列のデータを自動的にバックフィルしません。履歴データを取り込むには、テーブルで完全な更新を手動で実行します。
  • Databricksでは、異なるソーススキーマから取得された場合でも、同じ名前のテーブルを2つ以上同じパイプラインに取り込むことはできません。
  • ソースシステムは、カーソル列が単調増加していることを前提としています。
  • コネクタは、変換せずに生データを取り込みます。変換には、LakeFlow Pipelines でダウンストリーム Spark宣言型パイプラインを使用します。

削除はサポートされていません

GitHubコネクターは、repo_contentsを除いて、削除のフェッチをサポートしていません。これはGitHub APIの制限です。

repo_contentsテーブルはファイルの削除をキャプチャします。ソースリポジトリからファイルが削除されると、コネクタはテーブルから対応する行を削除します(物理削除)。リポジトリのコンテンツを参照してください。

限定的な段階的支援

ほとんどのテーブルは増分更新をサポートしていません。なぜなら、GitHub APIにはカーソルに基づいてレコードをフィルタリングする方法が提供されていないからです。これらのテーブルは、パイプラインが更新されるたびに完全に更新されます。テーブルとその更新パターンの一覧については、 「サポートされているデータ」を参照してください。

大企業向けパフォーマンスガイダンス

commitspull_requestsissuesなどのテーブルには、大規模組織では数百万件のレコードが含まれる可能性があります。これらのテーブルはパイプラインの実行ごとに完全に更新されるため、データ取り込みコストは組織の規模とパイプラインの実行頻度に応じて増加します。

実行ごとのボリュームを減らすには:

  • 列選択機能を使用して、これらのテーブルに取り込む列を制限してください。
  • 大容量テーブルを含むパイプラインには、より低いパイプライン周波数を使用します。

リポジトリのコンテンツ

repo_contentsテーブルは、ファイル、ディレクトリ、サブモジュール、シンボリックリンクを含む、各リポジトリのツリー内のすべてのエントリを取り込みます。ファイル(blob)エントリのみが content 列に移入されます。ディレクトリ(tree)とサブモジュール(commit)は、Null content 列を持つメタデータ専用行として取り込まれます。次の制限が適用されます:

  • デフォルトブランチのみ :コネクタは、branch_name列に記録されている各リポジトリのデフォルトブランチを取り込みます。リポジトリごとに複数のブランチを選択または取り込むことはサポートされていません。
  • ファイルサイズ制限 :100 MBを超えるファイルは取得されません。コネクタはファイルのメタデータ行(pathshasize_bytes)を取り込みますが、content列はnullです。
  • バイナリファイル :バイナリファイルの場合、content列はnullで、is_binarytrueです。contentにはテキストファイルの内容のみが設定されます。

詳細については、リポジトリのコンテンツ(repo_contentsテーブル)を参照してください。

サポートされているデータ

増分更新のあるテーブル

以下の表は増分更新をサポートしています。

  • repositories
  • audit_logs組織アカウントのみ。github.com無料プランでは、監査ログの履歴は90日間に制限されます。
  • repo_contents:リポジトリのツリーエントリとファイルコンテンツを取り込みます。増分更新と削除がサポートされています。リポジトリのコンテンツを参照してください。

バッチ更新のみのテーブル

以下のテーブルは、パイプラインの更新(増分更新ではない)のたびに完全に更新されます。

  • branches
  • collaborators
  • commits
  • deployments
  • deployment_statuses
  • discussions
  • issues
  • labels
  • milestones
  • org_members
  • pull_request_commits
  • pull_request_review_comments
  • pull_request_reviews
  • pull_requests
  • releases
  • tags
  • team_members
  • teams
  • workflows