Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Important
Dieses Feature befindet sich in der Betaversion.
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 nachgelagerte Spark Declarative Pipelines in 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
Batch-only Tabellen wie pull_requests, pull_request_commits, und pull_request_reviews 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.
- Beschränke die Datenaufnahme auf bestimmte Repositories für auf Repository-Ebene definierte Tabellen wie
pull_requests. Dies reduziert das Datenvolumen fürpull_request_commitsoderpull_request_reviewsnicht, da diese die Repository-Auswahl ignorieren. Siehe Repository-Auswahl.
Auswahl des Archivs
Standardmäßig nimmt der Connector Daten aus allen Repositories der Organisation ein. Um die Aufnahme auf bestimmte Repositorien zu beschränken, setzen Sie die repository_id_selections Connector-Option. Siehe Connectoroptionen.
Die Repository-Auswahl gilt nur für auf das Repository beschränkte Tabellen. Sie hat keinen Einfluss auf die folgenden organisationsbezogenen und verschachtelten Tabellen, die immer vollständig aufgenommen werden, selbst wenn repository_id_selections gesetzt ist:
audit_logsteamsorg_membersteam_membersdeployment_statusespull_request_commitspull_request_reviews
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_nameSpalte 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 Spaltecontentistnull. -
Binärdateien: Bei Binärdateien ist die
content-Spaltenullundis_binaryisttrue. Nur der Inhalt der Textdatei wird incontentausgefü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. GitHub speichert Auditprotokollereignisse der Organisation bis zu 180 Tage. Der Connector kann keine Ereignisse speichern, die älter als dieses Retentionsfenster sind. Imgithub.comkostenlosen 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. commitsissuesissue_commentspull_request_review_comments
Tabellen mit ausschließlich Batch-Aktualisierungen
Die folgenden Tabellen werden bei jeder Pipeline-Aktualisierung vollständig aktualisiert (nicht inkrementell):
branchescollaboratorsdeploymentsdeployment_statusesdiscussionslabelsmilestonesorg_memberspull_request_commitspull_request_reviewspull_requestsreleasestagsteam_membersteamsworkflows