Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważna
Ta funkcja jest dostępna w wersji beta. Administratorzy obszaru roboczego mogą kontrolować dostęp do tej funkcji ze strony Podglądy . Zobacz Zarządzanie wersjami zapoznawczami usługi Azure Databricks.
Ta strona zawiera informacje o znanych ograniczeniach łącznika zarządzanego GitHub w programie Lakeflow Connect.
Ogólne ograniczenia
- Po uruchomieniu zaplanowanego potoku alerty nie są wyzwalane od razu. Zamiast tego wyzwalają się po uruchomieniu następnej aktualizacji.
- Po usunięciu tabeli źródłowej tabela docelowa nie zostanie automatycznie usunięta. Musisz ręcznie usunąć tabelę docelową. To zachowanie nie jest zgodne z działaniem Spark Declarative Pipelines w Lakeflow.
- W okresach konserwacji źródła usługa Databricks może nie mieć dostępu do Twoich danych.
- Jeśli nazwa tabeli źródłowej powoduje konflikt z istniejącą nazwą tabeli docelowej, aktualizacja procesów zakończy się niepowodzeniem.
- Obsługiwanie potoków z wieloma miejscami docelowymi jest dostępne wyłącznie przez API.
- Możesz zmienić nazwę tabeli, którą importujesz. Jeśli zmienisz nazwę tabeli w swoim potoku, stanie się on potokiem dostępnym tylko przez API, i nie będzie można już edytować potoku w interfejsie użytkownika.
- Jeśli wybierzesz kolumnę po uruchomieniu potoku, łącznik nie wypełnia automatycznie danych dla nowej kolumny. Aby pozyskać dane historyczne, ręcznie przeprowadź pełne odświeżanie na tabeli.
- Usługa Databricks nie może pozyskiwać co najmniej dwóch tabel o tej samej nazwie w tym samym potoku, nawet jeśli pochodzą one z różnych schematów źródłowych.
- System źródłowy zakłada, że kolumny kursorów są monotonicznie rosnące.
- Łącznik pozyskuje nieprzetworzone dane bez przekształceń. Użyj dalszych deklaratywnych potoków Spark w potokach Lakeflow do przekształceń.
Usuwanie nie jest obsługiwane
Łącznik GitHub nie obsługuje pobierania informacji o usunięciach, z wyjątkiem repo_contents. Jest to ograniczenie interfejsu API GitHub.
Tabela repo_contents przechwytuje usunięcia plików. Po usunięciu pliku z repozytorium źródłowego łącznik usuwa odpowiedni wiersz z tabeli (usuwanie twarde). Zobacz Zawartość repozytorium.
Ograniczona obsługa przyrostowa
Większość tabel nie obsługuje aktualizacji przyrostowych, ponieważ interfejs API GitHub nie zapewnia sposobu filtrowania rekordów na podstawie kursora. Te tabele są całkowicie odświeżane przy każdej aktualizacji potoku. Aby uzyskać listę tabel i ich wzorców aktualizacji, zobacz Obsługiwane dane.
Wskazówki dotyczące wydajności dla dużych organizacji
Tabele używane wyłącznie do przetwarzania wsadowego, takie jak pull_requests, pull_request_commits i pull_request_reviews, mogą zawierać miliony rekordów w dużych organizacjach. Ponieważ te tabele są w pełni odświeżane w każdym przebiegu potoku, koszty pozyskiwania są skalowane z rozmiarem organizacji i częstotliwością potoku.
Aby zmniejszyć liczbę przebiegów:
- Użyj wyboru kolumn, aby ograniczyć importowane kolumny w tych tabelach.
- Użyj niższej częstotliwości uruchamiania potoku dla potoków zawierających tabele o dużym wolumenie danych.
- Ogranicz pozyskiwanie danych do określonych repozytoriów dla tabel ograniczonych do repozytorium, takich jak
pull_requests. To nie zmniejsza objętości dlapull_request_commitslubpull_request_reviews, które ignorują wybór repozytorium. Zobacz wybór repozytorium.
Wybór repozytorium
Domyślnie konektor pobiera dane ze wszystkich repozytoriów w organizacji. Aby ograniczyć pobieranie do konkretnych repozytoriów, ustaw opcję złącza repository_id_selections . Zobacz Opcje łącznika.
Wybór repozytorium dotyczy tylko tabel powiązanych z repozytorium. Nie ma to wpływu na następujące tabele na poziomie organizacji i tabele zagnieżdżone, które są zawsze w pełni importowane, nawet gdy ustawiono repository_id_selections:
audit_logsteamsorg_membersteam_membersdeployment_statusespull_request_commitspull_request_reviews
Zawartość repozytorium
Tabela repo_contents pozyskuje wszystkie wpisy w drzewie każdego repozytorium, w tym pliki, katalogi, podmoduły i linki symboliczne. Tylko wpisy pliku (blob) wypełniają kolumnę content . Katalogi (tree) i podmoduły (commit) są wczytywane jako wiersze zawierające wyłącznie metadane, z kolumną content o wartości null. Obowiązują następujące ograniczenia:
-
Tylko gałąź domyślna: łącznik pobiera domyślną gałąź każdego repozytorium, zapisaną w kolumnie
branch_name. Wybieranie lub importowanie wielu gałęzi w repozytorium nie jest obsługiwane. -
Limit rozmiaru pliku: Pliki większe niż 100 MB nie są pobierane. Łącznik nadal pobiera wiersz z metadanymi pliku (
path,sha,size_bytes), ale kolumnacontentjestnull. -
Pliki binarne: W przypadku plików binarnych kolumna
contenttonull, ais_binarytotrue. Tylko zawartość plików tekstowych jest umieszczana wcontent.
Aby uzyskać więcej informacji, zobacz Zawartość repozytorium (repo_contents tabela).
Obsługiwane dane
Tabele z aktualizacjami przyrostowymi
Poniższe tabele obsługują aktualizacje przyrostowe:
repositories-
audit_logs: Tylko konta organizacji. Wgithub.comprzypadku bezpłatnego planu historia dziennika inspekcji jest ograniczona do 90 dni. -
repo_contents: Pobiera wpisy drzewa repozytorium i zawartość plików. Obsługiwane są aktualizacje przyrostowe i usuwanie. Zobacz Zawartość repozytorium. commitsissuesissue_commentspull_request_review_comments
Tylko tabele z aktualizacjami zbiorczymi
Poniższe tabele są w pełni odświeżane przy każdej aktualizacji potoku (nie przyrostowo):
branchescollaboratorsdeploymentsdeployment_statusesdiscussionslabelsmilestonesorg_memberspull_request_commitspull_request_reviewspull_requestsreleasestagsteam_membersteamsworkflows