Beperkingen van de GitHub-connector

Important

Deze functie bevindt zich in de bètaversie. Werkruimtebeheerders kunnen de toegang tot deze functie beheren vanaf de pagina Previews . Zie Azure Databricks previews beheren.

Deze pagina bevat informatie over bekende beperkingen van de beheerde GitHub-connector in Lakeflow Connect.

Algemene beperkingen

  • Wanneer u een geplande pijplijn uitvoert, worden waarschuwingen niet onmiddellijk geactiveerd. In plaats daarvan worden ze geactiveerd wanneer de volgende update wordt uitgevoerd.
  • Wanneer een brontabel wordt verwijderd, wordt de doeltabel niet automatisch verwijderd. U moet de bestemmingstabel handmatig verwijderen. Dit gedrag komt niet overeen met het gedrag van Spark Declarative Pipelines op Lakeflow.
  • Tijdens de brononderhoudsperioden heeft Databricks mogelijk geen toegang tot uw gegevens.
  • Als de naam van een brontabel conflicteert met een bestaande doeltabelnaam, mislukt de pijplijnupdate.
  • Ondersteuning voor multidestinatie-pijplijnen is alleen beschikbaar via de API.
  • Je kunt optioneel een tabel die je binnenhaalt een andere naam geven. Als je een tabel in je pipeline hernoemt, wordt het een alleen-API-pipeline en kun je de pipeline niet langer in de UI bewerken.
  • Als u een kolom selecteert nadat een pijplijn al is gestart, vult de connector de gegevens voor de nieuwe kolom niet automatisch aan. Om historische gegevens in te laden, voer handmatig een volledige vernieuwingsopdracht uit op de tabel.
  • Databricks kan geen twee of meer tabellen met dezelfde naam opnemen in dezelfde pijplijn, zelfs niet als ze afkomstig zijn van verschillende bronschema's.
  • In het bronsysteem wordt ervan uitgegaan dat de cursorkolommen monotonisch toenemen.
  • De connector neemt onbewerkte gegevens op zonder transformaties. Gebruik downstream Spark Declarative Pipelines op Lakeflow-pijplijnen voor transformaties.

Verwijderingen worden niet ondersteund

De GitHub-connector biedt geen ondersteuning voor het ophalen van verwijderingen, met uitzondering van repo_contents. Dit is een GitHub API-beperking.

In de repo_contents tabel worden bestandsverwijderingen vastgelegd. Wanneer een bestand uit de bronopslagplaats wordt verwijderd, verwijdert de connector de bijbehorende rij uit de tabel (hard verwijderen). Zie de inhoud van de opslagplaats.

Beperkte incrementele ondersteuning

De meeste tabellen bieden geen ondersteuning voor incrementele updates omdat de GitHub-API geen manier biedt om records te filteren op basis van een cursor. Deze tabellen worden volledig vernieuwd voor elke pijplijnupdate. Zie Ondersteunde gegevens voor een lijst met tabellen en de bijbehorende updatepatronen.

Prestatierichtlijnen voor grote organisaties

Tabellen zoals commits, pull_requestsen issues kunnen miljoenen records in grote organisaties bevatten. Omdat deze tabellen bij elke uitvoering van de pijplijn volledig worden vernieuwd, schalen de opnamekosten mee met de grootte van de organisatie en de frequentie van de pijplijn.

Om het volume per run te verminderen:

  • Gebruik kolomselectie om de kolommen te beperken die zijn opgenomen voor deze tabellen.
  • Gebruik een lagere frequentie voor pijplijnen die tabellen met grote hoeveelheden gegevens bevatten.

Inhoud van opslagruimte

De repo_contents tabel neemt alle vermeldingen op in de structuur van elke opslagplaats, inclusief bestanden, mappen, submodules en symbolische koppelingen. Alleen bestandsvermeldingen (blob) vullen de content kolom. Mappen (tree) en submodules (commit) worden opgenomen als rijen met alleen metagegevens, met een nullwaarde in de kolom content. De volgende beperkingen zijn van toepassing:

  • Alleen standaardbranch: De connector neemt van elke repository de standaardbranch in, zoals vastgelegd in de kolom branch_name. Het selecteren of inlezen van meerdere branches per repository wordt niet ondersteund.
  • Maximale bestandsgrootte: bestanden die groter zijn dan 100 MB, worden niet opgehaald. De connector neemt nog steeds de metadatarij van het bestand op (path, sha, size_bytes), maar de kolom content is null.
  • Binaire bestanden: Voor binaire bestanden is de content-kolom null en is is_binarytrue. Alleen de inhoud van het tekstbestand wordt ingevuld in content.

Zie De inhoud van de opslagplaats (repo_contents tabel) voor meer informatie.

Ondersteunde gegevens

Tabellen met incrementele updates

De volgende tabellen ondersteunen incrementele updates:

  • repositories
  • audit_logs: Alleen organisatieaccounts. Bij github.com een gratis abonnement is de geschiedenis van het auditlogboek beperkt tot 90 dagen.
  • repo_contents: neemt vermeldingen van opslagplaatsstructuur en bestandsinhoud op. Incrementele updates en verwijderingen worden ondersteund. Zie de inhoud van de opslagplaats.

Tabellen met alleen batchupdates

De volgende tabellen worden volledig vernieuwd voor elke pijplijnupdate (niet-incrementeel):

  • 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