Limity i często zadawane pytania dotyczące integracji usługi Git z folderami usługi Databricks Git
Foldery Git usługi Databricks i integracja z usługą Git mają limity określone w poniższych sekcjach. Aby uzyskać ogólne informacje, zobacz Limity usługi Databricks.
Idź do:
- Limity plików i repozytoriów
- Typy zasobów obsługiwane w folderach Git
- Często zadawane pytania: konfiguracja folderu Git
Limity plików i repozytoriów
Usługa Azure Databricks nie wymusza limitu rozmiaru repozytorium. Jednak:
- Gałęzie robocze są ograniczone do 1 gigabajta (GB).
- Nie można wyświetlić plików większych niż 10 MB w interfejsie użytkownika usługi Azure Databricks.
- Poszczególne pliki obszaru roboczego podlegają oddzielnemu limitowi rozmiaru. Aby uzyskać więcej informacji, zobacz Ograniczenia.
Usługa Databricks zaleca, aby w repozytorium:
- Całkowita liczba wszystkich zasobów i plików obszaru roboczego nie przekracza 20 000.
W przypadku każdej operacji git użycie pamięci jest ograniczone do 2 GB, a zapisy dysków są ograniczone do 4 GB. Ponieważ limit dotyczy operacji, występuje błąd, jeśli próbujesz sklonować repozytorium Git o bieżącym rozmiarze 5 GB. Jeśli jednak sklonujesz repozytorium Git o rozmiarze 3 GB w jednej operacji, a następnie dodasz do niego 2 GB później, następna operacja ściągnięcia powiedzie się.
Jeśli repozytorium przekroczy te limity, może zostać wyświetlony komunikat o błędzie. Podczas klonowania repozytorium może również wystąpić błąd przekroczenia limitu czasu, ale operacja może zakończyć się w tle.
Aby pracować z repozytorium większym niż limity rozmiaru, spróbuj wyewidencjonować rozrzedzenie.
Jeśli musisz zapisać pliki tymczasowe, które nie mają być przechowywane po zamknięciu klastra, zapisywanie plików tymczasowych w celu $TEMPDIR
uniknięcia przekroczenia limitów rozmiaru gałęzi i zapewnia lepszą wydajność niż zapisywanie w bieżącym katalogu roboczym (CWD), jeśli CWD znajduje się w systemie plików obszaru roboczego. Aby uzyskać więcej informacji, zobacz Gdzie należy zapisywać pliki tymczasowe w usłudze Azure Databricks?.
Maksymalna liczba folderów Git na obszar roboczy
Możesz mieć maksymalnie 2000 folderów Git na obszar roboczy. Jeśli potrzebujesz więcej, skontaktuj się z pomocą techniczną usługi Databricks.
Odzyskiwanie plików usuniętych z folderów Git w obszarze roboczym
Akcje obszaru roboczego w folderach Git różnią się w zakresie możliwości odzyskiwania plików. Niektóre akcje umożliwiają odzyskiwanie za pośrednictwem folderu Kosz , podczas gdy inne nie. Pliki wcześniej zatwierdzone i wypchnięte do gałęzi zdalnej można przywrócić przy użyciu historii zatwierdzń Git dla zdalnego repozytorium Git. W tej tabeli opisano zachowanie i możliwość odzyskania każdej akcji.
Akcja | Czy plik można odzyskać? |
---|---|
Usuwanie pliku za pomocą przeglądarki obszaru roboczego | Tak, z folderu Kosz |
Odrzuć nowy plik za pomocą okna dialogowego folderu Git | Tak, z folderu Kosz |
Odrzuć zmodyfikowany plik za pomocą okna dialogowego folderu Git | Nie, plik zniknął |
reset (twarde) w przypadku niezatwierdzonych modyfikacji plików |
Nie, nie ma modyfikacji plików |
reset (twarde) dla niezatwierdzonych, nowo utworzonych plików |
Nie, nie ma modyfikacji plików |
Przełączanie gałęzi za pomocą okna dialogowego folderu Git | Tak, ze zdalnego repozytorium Git |
Inne operacje git (zatwierdzanie i wypychanie itp.) z okna dialogowego folderu Git | Tak, ze zdalnego repozytorium Git |
PATCH operacje aktualizowania /repos/id z interfejsu API repozytoriów |
Tak, ze zdalnego repozytorium Git |
Obsługa platformy Monorepo
Firma Databricks zaleca, aby nie tworzyć folderów Git obsługiwanych przez monorepos, gdzie monorepo to duże, jednoorganizacyjne repozytorium Git z tysiącami plików w wielu projektach.
Typy zasobów obsługiwane w folderach Git
Tylko niektóre typy zasobów usługi Azure Databricks są obsługiwane przez foldery Git. Obsługiwany typ zasobu może być serializowany, kontrolowany przez wersję i wypychany do repozytorium Git.
Obecnie obsługiwane typy zasobów to:
Typ zasobu | Szczegóły |
---|---|
Plik | Pliki są serializowane i mogą zawierać dowolne elementy, od bibliotek do plików binarnych po kod do obrazów. Aby uzyskać więcej informacji, przeczytaj Co to są pliki obszaru roboczego? |
Notes | Notesy to w szczególności formaty plików notesu obsługiwane przez usługę Databricks. Notesy są uznawane za oddzielny typ zasobu usługi Azure Databricks z plików, ponieważ nie są serializowane. Foldery Git określają notes przez rozszerzenie pliku (takie jak .ipynb ) lub rozszerzenia plików połączone ze specjalnym znacznikiem w zawartości pliku (na przykład # Databricks notebook source komentarz na początku plików źródłowych .py ). |
Folder | Folder to struktura specyficzna dla usługi Azure Databricks, która reprezentuje serializowane informacje na temat logicznego grupowania plików w usłudze Git. Zgodnie z oczekiwaniami użytkownik doświadcza tego jako "folderu" podczas wyświetlania folderu Usługi Git usługi Azure Databricks lub uzyskiwania do niego dostępu za pomocą interfejsu wiersza polecenia usługi Azure Databricks. |
Query (publiczna wersja zapoznawcza) | Zapytania SQL (DBSQL) w Databricks można zatwierdzać jako notesy IPYNB (rozszerzenie: .dbquery.ipynb ). Obsługa usługi Git dla zapytań DBSQL wymaga włączenia nowego edytora SQL. Zapytania utworzone bez włączonej nowej funkcji edytora SQL mogą być umieszczane w folderze Git, ale nie mogą być zatwierdzane w repozytorium zdalnym. |
Typy zasobów usługi Azure Databricks, które nie są obecnie obsługiwane w folderach Git, obejmują następujące elementy:
- Alerty
- Pulpity nawigacyjne (w tym starsze pulpity nawigacyjne)
- Eksperymenty
- Miejsca genie
Podczas pracy z elementami zawartości w usłudze Git należy przestrzegać następujących ograniczeń dotyczących nazewnictwa plików:
- Folder nie może zawierać notesu o takiej samej nazwie jak inny notes, plik lub folder w tym samym repozytorium Git, nawet jeśli rozszerzenie pliku się różni. (W przypadku notesów w formacie źródłowym rozszerzenie jest
.py
przeznaczone dla języka Python,.scala
dla języka Scala,.sql
dla języka SQL i.r
języka R. W przypadku notesów w formacie IPYNB rozszerzenie to.ipynb
.) Na przykład nie można użyć notesu formatu źródłowego o nazwie i notesu IPYNB o nazwietest1.py
test1
w tym samym folderze Git, ponieważ plik notesu języka Python w formacie źródłowym (test1.py
) zostanie serializowany jakotest1
i wystąpi konflikt. - Znak
/
nie jest obsługiwany w nazwach plików. Na przykład nie można mieć pliku o nazwiei/o.py
w folderze Git.
Jeśli spróbujesz wykonać operacje Git na plikach, które mają te wzorce, zostanie wyświetlony komunikat "Błąd podczas pobierania stanu usługi Git". Jeśli ten błąd zostanie nieoczekiwanie wyświetlony, przejrzyj nazwy plików zasobów w repozytorium Git. Jeśli znajdziesz pliki z nazwami, które mają te wzorce powodujące konflikt, zmień ich nazwę i spróbuj wykonać operację ponownie.
Uwaga
Istniejące nieobsługiwane zasoby można przenieść do folderu Git, ale nie można zatwierdzić żadnych zmian wprowadzonych w repozytorium zdalnym.
Formaty notesów
Aby uzyskać więcej informacji na temat formatów notesów dla folderów Git, zobacz Formaty notesów.
Często zadawane pytania: konfiguracja folderu Git
Gdzie jest przechowywana zawartość repozytorium usługi Azure Databricks?
Zawartość repozytorium jest tymczasowo klonowana na dysk na płaszczyźnie sterowania. Pliki notesów usługi Azure Databricks są przechowywane w bazie danych płaszczyzny sterowania, podobnie jak w przypadku notesów w głównym obszarze roboczym. Pliki inne niż notesy są przechowywane na dysku przez maksymalnie 30 dni.
Czy foldery Git obsługują lokalne lub własne serwery Git?
Foldery Usługi Git usługi Databricks obsługują usługi GitHub Enterprise, Bitbucket Server, Azure DevOps Server i samoobsługową integrację z usługą GitLab, jeśli serwer jest dostępny w Internecie. Aby uzyskać szczegółowe informacje na temat integrowania folderów Git z lokalnie serwerem Git, przeczytaj artykuł Git Proxy Server for Git folders (Serwer proxy usługi Git dla folderów Git).
Aby zintegrować się z serwerem Bitbucket Server, usługą GitHub Enterprise Server lub wystąpieniem subskrypcji samoobsługowej gitLab, które nie jest dostępne w Internecie, skontaktuj się z zespołem konta usługi Azure Databricks.
Jakie typy zasobów usługi Databricks są obsługiwane przez foldery Git?
Aby uzyskać szczegółowe informacje na temat obsługiwanych typów zasobów, przeczytaj Artykuł Typy zasobów obsługiwane w folderach Git.
Czy foldery Git obsługują .gitignore
pliki?
Tak. Jeśli dodasz plik do repozytorium i nie chcesz, aby był śledzony przez usługę .gitignore
Git, utwórz plik lub użyj pliku sklonowanego ze zdalnego repozytorium i dodaj nazwę pliku, w tym rozszerzenie.
.gitignore
działa tylko w przypadku plików, które nie są jeszcze śledzone przez usługę Git. Jeśli dodasz plik, który jest już śledzony przez usługę Git do pliku, plik będzie nadal śledzony przez usługę .gitignore
Git.
Czy można tworzyć foldery najwyższego poziomu, które nie są folderami użytkowników?
Tak, administratorzy mogą tworzyć foldery najwyższego poziomu do pojedynczej głębokości. Foldery Git nie obsługują dodatkowych poziomów folderów.
Czy foldery Git obsługują podmoduły usługi Git?
L.p. Możesz sklonować repozytorium zawierające moduły podrzędne Git, ale moduł podrzędny nie został sklonowany.
Czy usługa Azure Data Factory (ADF) obsługuje foldery Git?
Tak.
Zarządzanie źródłami
Dlaczego pulpity nawigacyjne notesu znikają podczas ściągania lub wyewidencjonowania innej gałęzi?
Jest to obecnie ograniczenie, ponieważ pliki źródłowe notesu usługi Azure Databricks nie przechowują informacji o pulpicie nawigacyjnym notesu.
Jeśli chcesz zachować pulpity nawigacyjne w repozytorium Git, zmień format notesu na .ipynb
(format notesu Jupyter). Domyślnie .ipynb
obsługuje definicje pulpitu nawigacyjnego i wizualizacji. Jeśli chcesz zachować dane grafu (punkty danych), musisz zatwierdzić notes przy użyciu danych wyjściowych.
Aby dowiedzieć się więcej na temat zatwierdzania .ipynb
danych wyjściowych notesu, zobacz Zezwalaj na zatwierdzanie .ipynb
danych wyjściowych notesu.
Czy foldery Git obsługują scalanie gałęzi?
Tak. Możesz również utworzyć żądanie ściągnięcia i scalić za pośrednictwem dostawcy usługi Git.
Czy mogę usunąć gałąź z repozytorium usługi Azure Databricks?
L.p. Aby usunąć gałąź, musisz pracować u dostawcy usługi Git.
Jeśli biblioteka jest zainstalowana w klastrze, a biblioteka o tej samej nazwie znajduje się w folderze w repozytorium, która biblioteka jest importowana?
Biblioteka w repozytorium jest importowana. Aby uzyskać więcej informacji na temat pierwszeństwa biblioteki w języku Python, zobacz Pierwszeństwo biblioteki języka Python.
Czy mogę ściągnąć najnowszą wersję repozytorium z usługi Git przed uruchomieniem zadania bez polegania na zewnętrznym narzędziu orkiestracji?
L.p. Zazwyczaj można to zintegrować jako wstępne zatwierdzenie na serwerze Git, aby każde wypchnięcie do gałęzi (główne/prod) zaktualizowało repozytorium produkcyjne.
Czy mogę wyeksportować repozytorium?
Możesz wyeksportować notesy, foldery lub całe repozytorium. Nie można eksportować plików innych niż notes. W przypadku eksportowania całego repozytorium pliki spoza notesu nie są uwzględniane. Aby wyeksportować, użyj workspace export
polecenia w interfejsie wiersza polecenia usługi Databricks lub użyj interfejsu API obszaru roboczego.
Zabezpieczenia, uwierzytelnianie i tokeny
Problem z zasadami dostępu warunkowego (CAP) dla identyfikatora entra firmy Microsoft
Podczas próby sklonowania repozytorium może zostać wyświetlony komunikat o błędzie "Odmowa dostępu", gdy:
- Usługa Azure Databricks jest skonfigurowana do używania usługi Azure DevOps z uwierzytelnianiem identyfikatora Entra firmy Microsoft.
- Włączono zasady dostępu warunkowego w usłudze Azure DevOps i zasady dostępu warunkowego identyfikatora Entra firmy Microsoft.
Aby rozwiązać ten problem, dodaj wykluczenie do zasad dostępu warunkowego (CAP) dla adresu IP lub użytkowników usługi Azure Databricks.
Aby uzyskać więcej informacji, zobacz Zasady dostępu warunkowego.
Lista dozwolonych tokenów usługi Azure AD
Jeśli używasz usługi Azure Active Directory (AAD) do uwierzytelniania w usłudze Azure DevOps, domyślna lista dozwolonych ogranicza adresy URL usługi Git do:
dev.azure.com
visualstudio.com
Aby uzyskać więcej informacji, zobacz Zezwalaj listy ograniczają użycie repozytorium zdalnego.
Czy zawartość folderów Git usługi Azure Databricks jest zaszyfrowana?
Zawartość folderów Git usługi Azure Databricks jest szyfrowana przez usługę Azure Databricks przy użyciu klucza domyślnego. Szyfrowanie przy użyciu kluczy zarządzanych przez klienta nie jest obsługiwane z wyjątkiem szyfrowania poświadczeń usługi Git.
Jak i gdzie są przechowywane tokeny GitHub w usłudze Azure Databricks? Kto miałby dostęp z usługi Azure Databricks?
- Tokeny uwierzytelniania są przechowywane w płaszczyźnie sterowania usługi Azure Databricks, a pracownik usługi Azure Databricks może uzyskać dostęp tylko za pośrednictwem poświadczeń tymczasowych, które są poddawane inspekcji.
- Usługa Azure Databricks rejestruje tworzenie i usuwanie tych tokenów, ale nie ich użycie. Usługa Azure Databricks zawiera rejestrowanie, które śledzi operacje usługi Git, których można użyć do inspekcji użycia tokenów przez aplikację usługi Azure Databricks.
- Usługa GitHub enterprise przeprowadza inspekcję użycia tokenów. Inne usługi Git mogą również mieć inspekcję serwera Git.
Czy foldery Git obsługują podpisywanie zatwierdzeń grupy zasad grupy?
L.p.
Czy foldery Git obsługują protokół SSH?
Nie, tylko HTTPS
.
Błąd podczas łączenia usługi Azure Databricks z repozytorium usługi Azure DevOps w innej dzierżawie
Podczas próby nawiązania połączenia z usługą DevOps w oddzielnej dzierżawie może zostać wyświetlony komunikat Unable to parse credentials from Azure Active Directory account
. Jeśli projekt usługi Azure DevOps znajduje się w innej dzierżawie identyfikatora Entra firmy Microsoft z usługi Azure Databricks, musisz użyć tokenu dostępu z usługi Azure DevOps. Zobacz Connect to Azure DevOps using a DevOps token (Nawiązywanie połączenia z usługą Azure DevOps przy użyciu tokenu DevOps).
Ciągła integracja/ciągłe wdrażanie i metodyka MLOps
Zmiany przychodzące czyszczyją stan notesu
Operacje git, które zmieniają kod źródłowy notesu, powodują utratę stanu notesu, w tym dane wyjściowe komórek, komentarze, historię wersji i widżety. Na przykład git pull
można zmienić kod źródłowy notesu. W takim przypadku foldery Git usługi Databricks muszą zastąpić istniejący notes, aby zaimportować zmiany.
git commit
i push
utworzenie nowej gałęzi nie ma wpływu na kod źródłowy notesu, więc stan notesu jest zachowywany w tych operacjach.
Ważne
Eksperymenty MLflow nie działają w folderach Git w wersjach DBR 14.x lub starszych.
Czy mogę utworzyć eksperyment MLflow w repozytorium?
Istnieją dwa typy eksperymentów MLflow: obszar roboczy i notes. Aby uzyskać szczegółowe informacje na temat dwóch typów eksperymentów MLflow, zobacz Organizowanie przebiegów trenowania za pomocą eksperymentów MLflow.
W folderach Git można wywołać mlflow.set_experiment("/path/to/experiment")
eksperyment MLflow dla dowolnego typu i przebiegów dziennika, ale ten eksperyment i skojarzone przebiegi nie zostaną zaewidencjonowane w kontroli źródła.
Eksperymenty MLflow obszaru roboczego
Nie można utworzyć eksperymentów MLflow obszaru roboczego w folderze Git usługi Databricks (folder Git). Jeśli wielu użytkowników używa oddzielnych folderów Git do współpracy nad tym samym kodem uczenia maszynowego, dziennik MLflow działa do eksperymentu MLflow utworzonego w zwykłym folderze obszaru roboczego.
Eksperymenty MLflow notesu
Eksperymenty notesu można tworzyć w folderze Git usługi Databricks. Jeśli sprawdzisz notes w kontroli źródła jako .ipynb
plik, możesz rejestrować przebiegi biblioteki MLflow w automatycznie utworzonym i skojarzonym eksperymencie MLflow. Aby uzyskać więcej informacji, przeczytaj o tworzeniu eksperymentów notesu.
Zapobieganie utracie danych w eksperymentach MLflow
Eksperymenty MLflow notesu utworzone przy użyciu zadań usługi Databricks z kodem źródłowym w repozytorium zdalnym są przechowywane w tymczasowej lokalizacji magazynu. Te eksperymenty są utrwalane początkowo po wykonaniu przepływu pracy, ale są zagrożone później podczas zaplanowanego usuwania plików w magazynie tymczasowym. Usługa Databricks zaleca używanie eksperymentów MLflow obszaru roboczego z zadaniami i zdalnymi źródłami git.
Ostrzeżenie
Za każdym razem, gdy przejdziesz do gałęzi, która nie zawiera notesu, ryzykujesz utratę skojarzonych danych eksperymentu MLflow. Ta utrata staje się nienadnajmna, jeśli poprzednia gałąź nie jest dostępna w ciągu 30 dni.
Aby odzyskać brakujące dane eksperymentu przed upływem 30 dni, zmień nazwę notesu z powrotem na oryginalną nazwę, otwórz notes, kliknij ikonę "eksperyment" w okienku po prawej stronie (spowoduje to również skuteczne wywołanie interfejsu mlflow.get_experiment_by_name()
API) i będzie można zobaczyć odzyskany eksperyment i przebiegi. Po upływie 30 dni wszelkie oddzielone eksperymenty MLflow zostaną przeczyszczone w celu spełnienia zasad zgodności z RODO.
Aby zapobiec takiej sytuacji, usługa Databricks zaleca całkowite unikanie zmieniania nazw notesów w repozytoriach lub zmiany nazwy notesu, kliknij ikonę "eksperyment" w okienku po prawej stronie natychmiast po zmianie nazwy notesu.
Co się stanie, jeśli zadanie notesu jest uruchomione w obszarze roboczym, gdy operacja usługi Git jest w toku?
W dowolnym momencie, gdy operacja git jest w toku, niektóre notesy w repozytorium mogły zostać zaktualizowane, podczas gdy inne nie. Może to spowodować nieprzewidziane zachowanie.
Załóżmy na przykład, że wywołania notebook A
notebook Z
przy użyciu %run
polecenia . Jeśli zadanie uruchomione podczas operacji usługi Git uruchamia najnowszą wersję notebook A
programu , ale notebook Z
nie zostało jeszcze zaktualizowane, %run
polecenie w notesie A może uruchomić starszą wersję programu notebook Z
.
Podczas operacji git stany notesu nie są przewidywalne, a zadanie może zakończyć się niepowodzeniem lub uruchomieniem notebook A
oraz notebook Z
z różnych zatwierdzeń.
Aby uniknąć takiej sytuacji, użyj zadań opartych na Git (gdzie źródłem jest dostawca Git, a nie ścieżka obszaru roboczego). Aby uzyskać więcej informacji, zobacz Używanie narzędzia Git z zadaniami.
Zasoby
Aby uzyskać szczegółowe informacje na temat plików obszaru roboczego usługi Databricks, zobacz Co to są pliki obszaru roboczego?.