Einschränkungen des GitHub Connectors

Important

Dieses Feature befindet sich in der Betaversion. Arbeitsbereichsadministratoren können den Zugriff auf dieses Feature über die Vorschauseite steuern. Siehe Manage Azure Databricks Previews.

Diese Seite enthält Informationen zu bekannten Einschränkungen des verwalteten GitHub Connectors in Lakeflow Connect.

Allgemeine Einschränkungen

  • Wenn Sie eine geplante Pipeline ausführen, werden Warnungen nicht sofort ausgelöst. Stattdessen werden sie ausgelöst, wenn das nächste Update ausgeführt wird.
  • Wenn eine Quelltabelle gelöscht wird, wird die Zieltabelle nicht automatisch gelöscht. Sie müssen die Zieltabelle manuell löschen. Dieses Verhalten entspricht nicht dem Verhalten von Spark Declarative Pipelines on Lakeflow.
  • Während der Quellwartungszeiträume können Databricks möglicherweise nicht auf Ihre Daten zugreifen.
  • Wenn ein Quelltabellenname mit einem vorhandenen Zieltabellennamen in Konflikt steht, schlägt die Pipelineaktualisierung fehl.
  • Die Unterstützung für Multi-Destination-Pipelines erfolgt ausschließlich über die API.
  • Sie können nach Belieben eine Tabelle umbenennen, die Sie importieren. Wenn Sie eine Tabelle in Ihrer Pipeline umbenennen, wird sie zu einer nur API-Pipeline, und Sie können die Pipeline nicht mehr in der Benutzeroberfläche bearbeiten.
  • Wenn Sie eine Spalte auswählen, nachdem eine Pipeline bereits gestartet wurde, füllt der Verbinder die Daten für die neue Spalte nicht automatisch aus. Um historische Daten zu erfassen, führen Sie manuell eine vollständige Aktualisierung der Tabelle aus.
  • Databricks können nicht zwei oder mehr Tabellen mit demselben Namen in derselben Pipeline aufnehmen, auch wenn sie aus verschiedenen Quellschemas stammen.
  • Das Quellsystem geht davon aus, dass die Cursorspalten monoton steigen.
  • Der Connector erfasst rohe Daten ohne Transformationen. Verwenden Sie downstream Spark Declarative Pipelines auf Lakeflow-Pipelines für Transformationen.

Löschen wird nicht unterstützt

Der GitHub Connector unterstützt das Abrufen von Löschlöschungen nicht, mit Ausnahme von repo_contents. Dies ist eine GitHub API-Einschränkung.

Die repo_contents Tabelle erfasst Dateilöschungen. Wenn eine Datei aus dem Quell-Repository entfernt wird, entfernt der Connector die entsprechende Zeile aus der Tabelle (endgültig löschen). Siehe Inhalt des Repositorys.

Eingeschränkte inkrementelle Unterstützung

Die meisten Tabellen unterstützen keine inkrementellen Updates, da die GitHub-API keine Möglichkeit zum Filtern von Datensätzen auf der Grundlage eines Cursors bietet. Diese Tabellen werden für jedes Pipelineupdate vollständig aktualisiert. Eine Liste der Tabellen und deren Aktualisierungsmuster finden Sie unter "Unterstützte Daten".

Leistungsleitfaden für große Organisationen

Tabellen wie commits, pull_requestsund issues können Millionen von Datensätzen in großen Organisationen enthalten. Da diese Tabellen bei jeder Pipelineausführung vollständig aktualisiert werden, skalieren die Erfassungskosten mit der Organisationsgröße und der Pipelinehäufigkeit.

So reduzieren Sie das Volumen pro Ausführung:

  • Verwenden Sie die Spaltenauswahl , um die für diese Tabellen aufgenommenen Spalten einzuschränken.
  • Verwenden Sie für Pipelines, die Tabellen mit hohem Datenvolumen enthalten, eine geringere Pipeline-Frequenz.

Repository-Inhalt

In der repo_contents Tabelle werden alle Einträge in der Struktur jedes Repositorys aufgenommen, einschließlich Dateien, Verzeichnisse, Untermodule und symbolische Verknüpfungen. Nur Dateieinträge (blob) füllen die content Spalte auf. Verzeichnisse (tree) und Untermodule (commit) werden als nur Metadatenzeilen mit einer Nullspalte content aufgenommen. Es gelten die folgenden Einschränkungen:

  • Nur Standardverzweigung: Der Connector erfasst die Standardverzweigung jedes Repositorys, die in der branch_name Spalte aufgezeichnet wird. Das Auswählen oder Importieren mehrerer Branches pro Repository wird nicht unterstützt.
  • Dateigrößenbeschränkung: Dateien, die größer als 100 MB sind, werden nicht abgerufen. Der Konnektor liest weiterhin die Metadatenzeile der Datei ein (path, sha, size_bytes), aber die Spalte content ist null.
  • Binärdateien: Bei Binärdateien ist die content-Spalte null und is_binary ist true. Nur der Inhalt der Textdatei wird in contentausgefüllt.

Weitere Informationen finden Sie unter Repositoryinhalte (repo_contents Tabelle).

Unterstützte Daten

Tabellen mit inkrementellen Aktualisierungen

Die folgenden Tabellen unterstützen inkrementelle Updates:

  • repositories
  • audit_logs: Nur Organisationskonten. Im github.com kostenlosen Plan ist der Überwachungsprotokollverlauf auf 90 Tage beschränkt.
  • repo_contents: Nimmt Repositorystruktureinträge und Dateiinhalte ein. Inkrementelle Updates und Löschungen werden unterstützt. Siehe Inhalt des Repositorys.

Tabellen mit ausschließlich Batch-Aktualisierungen

Die folgenden Tabellen werden bei jeder Pipeline-Aktualisierung vollständig aktualisiert (nicht inkrementell):

  • 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