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.
Ta sekcja zawiera przewodnik dotyczący opracowywania notesów i zadań w Azure Databricks przy użyciu języka Python, w tym samouczków dotyczących typowych przepływów pracy i zadań oraz linków do interfejsów API, bibliotek i narzędzi.
Aby rozpocząć pracę:
- Importuj kod: zaimportuj własny kod z plików lub repozytoriów Git lub spróbuj wykonać samouczek wymieniony poniżej. Usługa Databricks zaleca naukę przy użyciu interaktywnych notesów usługi Databricks.
- Uruchom kod w klastrze: utwórz własny klaster lub upewnij się, że masz uprawnienia do korzystania z udostępnionego klastra. Dołącz notatnik do klastra i uruchom notatnik.
- Następnie możesz wykonać następujące czynności:
Samouczki
Poniższe samouczki zawierają przykładowy kod i notesy, aby dowiedzieć się więcej o typowych przepływach pracy. Zobacz Importowanie notesu , aby uzyskać instrukcje dotyczące importowania przykładów notesów do obszaru roboczego.
Inżynieria danych
- Samouczek: Ładowanie i przekształcanie danych przy użyciu ramek danych Apache Spark zapewnia przejście krok po kroku, aby pomóc w nauce ramek danych Apache Spark na potrzeby przygotowywania i analizy danych.
- Samouczek: tworzenie tabel usługi Delta Lake i zarządzanie nimi.
- Samouczek: zbudowanie potoku ETL przy użyciu wychwytywania zmian danych.
Nauka o danych i uczenie maszynowe
- Wprowadzenie do ramek danych platformy Apache Spark na potrzeby przygotowywania i analizy danych: Samouczek: ładowanie i przekształcanie danych przy użyciu ramek danych platformy Apache Spark
- Tutorial: kompleksowe klasyczne modele uczenia maszynowego w Azure Databricks. Aby uzyskać dodatkowe przykłady, zobacz Samouczki dotyczące sztucznej inteligencji i uczenia maszynowego.
- automl umożliwia szybkie rozpoczęcie opracowywania modeli uczenia maszynowego na własnych zestawach danych. Jego transparentne podejście generuje notebooki z kompletnym przepływem pracy dla uczenia maszynowego, które można klonować, modyfikować i ponownie uruchamiać.
- Zarządzanie cyklem życia modelu w Unity Catalog
Debugowanie w notatnikach Python
W przykładowym notesie pokazano, jak używać debugera Python (pdb) w notesach usługi Databricks. Aby użyć debugera Python, musisz uruchomić środowisko Databricks Runtime 11.3 LTS lub nowsze.
W środowisku Databricks Runtime 12.2 LTS i nowszym można użyć eksploratora zmiennych do śledzenia bieżącej wartości zmiennych Pythona w interfejsie notebooka. Eksplorator zmiennych umożliwia obserwowanie wartości zmiennych Python podczas przechodzenia przez punkty przerwania.
przykładowy notatnik debuggera Python
Uwaga
breakpoint() nie jest obsługiwany w IPythonie i dlatego nie działa w notatnikach Databricks. Możesz użyć import pdb; pdb.set_trace() zamiast breakpoint().
API w Pythonie
Kod Python uruchamiany poza Databricks może być zwykle uruchamiany także w Databricks, i odwrotnie. Jeśli masz istniejący kod, po prostu zaimportuj go do usługi Databricks, aby rozpocząć pracę. Aby uzyskać szczegółowe informacje, zobacz Zarządzanie kodem za pomocą notesów i folderów Git w usłudze Databricks.
Usługa Databricks może uruchamiać obciążenia Python zarówno jednomaszynowe, jak i rozproszone. W przypadku przetwarzania jedno maszynowego można użyć interfejsów API i bibliotek Python jak zwykle. Na przykład biblioteka pandas i scikit-learn będą "po prostu działać". W przypadku rozproszonych obciążeń w Pythonie, usługa Databricks oferuje od razu dwa popularne interfejsy API: PySpark oraz interfejs API Pandas na Spark.
PySpark API
PySpark to oficjalny interfejs API Python dla platformy Apache Spark i łączy możliwości Python i Apache Spark. PySpark jest bardziej elastyczny niż interfejs API biblioteki Pandas na platformie Spark i oferuje rozbudowaną obsługę i funkcje do nauki o danych i inżynierii, takie jak Spark SQL, Przesyłanie strumieniowe ze strukturą, MLLib i GraphX.
API Pandas w Apache Spark
Uwaga
Projekt open source Koalas obecnie zaleca przejście na interfejs API Pandas na platformie Spark. Interfejs API biblioteki Pandas na platformie Spark jest dostępny w klastrach z uruchomionym środowiskiem Databricks Runtime 10.0 lub nowszym. W przypadku klastrów z uruchomionym środowiskiem Databricks Runtime 9.1 LTS i nowszym należy zamiast tego użyć narzędzia Koalas .
pandas jest pakietem Python używanym przez analityków danych do analizy danych i manipulowania nimi. Jednak biblioteka pandas nie jest przystosowana do przetwarzania dużych zbiorów danych. Interfejs API biblioteki Pandas na platformie Spark wypełnia tę lukę, zapewniając równoważne interfejsy API biblioteki pandas działające na platformie Apache Spark. Ten interfejs API typu open source jest idealnym wyborem dla analityków danych, którzy znają bibliotekę pandas, ale nie platformę Apache Spark.
Zarządzanie kodem za pomocą notatników i folderów Git w Databricks.
Notatniki usługi Databricks obsługują Pythona. Te notesy udostępniają funkcje podobne do tych z programu Jupyter, ale z dodatkami takimi jak wbudowane wizualizacje korzystające z danych big data, integracje platformy Apache Spark na potrzeby debugowania i monitorowania wydajności oraz integracje MLflow na potrzeby śledzenia eksperymentów uczenia maszynowego. Rozpocznij od zaimportowania notesu. Po uzyskaniu dostępu do klastra możesz przypiąć notebook do klastra i uruchomić notebook.
Napiwek
Aby zresetować stan notesu, uruchom ponownie jądro iPython. W przypadku użytkowników programu Jupyter opcja "uruchom jądro" w programie Jupyter odpowiada rozpoczęciu nowej sesji w usłudze Databricks. Aby ponownie uruchomić jądro w notesie Python, kliknij selektor
Foldery Git w Databricks pozwalają użytkownikom synchronizować notatniki i inne pliki z repozytoriami Git. Foldery Git w Databricks ułatwiają wersjonowanie kodu i współpracę oraz upraszczają importowanie pełnego repozytorium kodu do Azure Databricks, wyświetlanie wcześniejszych wersji notatników i integrację z IDE. Rozpocznij od klonowania zdalnego repozytorium Git. Następnie możesz otworzyć lub utworzyć notatniki, używając klonu repozytorium, dołączyć notatnik do klastra i uruchomić notatnik.
Klastry i biblioteki
Azure Databricks compute zapewnia zarządzanie obliczeniami dla klastrów o dowolnym rozmiarze: od klastrów z jednego węzła do dużych klastrów. Możesz dostosować sprzęt i biblioteki klastra zgodnie z potrzebami. Analitycy danych zazwyczaj rozpoczną pracę, tworząc klaster lub używając istniejącego udostępnionego klastra. Po uzyskaniu dostępu do klastra możesz dołączyć notes do klastra lub uruchomić zadanie w klastrze.
- W przypadku małych obciążeń, które wymagają tylko jednego węzła, analitycy danych mogą korzystać z obliczeń z jednym węzłem w celu uzyskania oszczędności kosztów.
- Aby uzyskać szczegółowe porady, zobacz Zalecenia dotyczące konfiguracji obliczeniowej
- Administratorzy mogą skonfigurować zasady klastra w celu uproszczenia i obsługi tworzenia klastra.
Azure Databricks klastry używają środowiska Databricks Runtime, które udostępnia wiele popularnych bibliotek, takich jak Apache Spark, Delta Lake, pandas i inne. Możesz również zainstalować dodatkowe biblioteki innych firm lub niestandardowe biblioteki Pythona do użycia z notebookami i zadaniami.
- Zacznij od bibliotek domyślnych w informacjach o wersji środowiska Databricks Runtime i zgodności. Użyj środowiska Databricks Runtime for Machine Learning do obciążeń uczenia maszynowego. Aby uzyskać pełną listę wstępnie zainstalowanych bibliotek, zobacz Databricks Runtime release notes versions and compatibility (Wersje i zgodność środowiska Databricks Runtime).
- Dostosuj środowisko przy użyciu bibliotek Pythona w zakresie notatnika które pozwalają na modyfikowanie środowiska notesu lub zadań z wykorzystaniem bibliotek z PyPI lub innych repozytoriów. Polecenie magic
%pip install my_libraryinstalujemy_libraryna wszystkie węzły w aktualnie połączonym klastrze, ale nie wpływa na inne obciążenia na komputerach działających w standardowym trybie dostępu. - Zainstaluj biblioteki inne niż biblioteki Pythona jako biblioteki o zakresie obliczeń zgodnie z potrzebami.
- Aby uzyskać więcej informacji, zobacz Instalowanie bibliotek.
Wizualizacje
Azure Databricks Python notesy mają wbudowaną obsługę wielu typów wizualizacji. Możesz również użyć starszych wizualizacji.
Dane można również wizualizować przy użyciu bibliotek innych firm; niektóre z nich są wstępnie zainstalowane w środowisku Databricks Runtime, ale można również zainstalować biblioteki niestandardowe. Popularne opcje to:
Stanowiska
Obciążenia Python można zautomatyzować zgodnie z harmonogramem lub wyzwalaną jobs w usłudze Databricks. Zadania mogą uruchamiać notatniki, skrypty Python i pliki wheel Python.
- Tworzenie i aktualizowanie zadań przy użyciu interfejsu użytkownika usługi Databricks lub interfejsu API REST usługi Databricks.
- Zestaw SDK Python Databricks umożliwia programowe tworzenie, edytowanie i usuwanie zadań.
- Interfejs wiersza polecenia usługi Databricks CLI zapewnia wygodny sposób automatyzacji zadań.
Napiwek
Aby zaplanować skrypt Python zamiast notesu, użyj pola spark_python_task w obszarze tasks w treści żądania utworzenia zadania.
Uczenie maszynowe
Usługa Databricks obsługuje szeroką gamę obciążeń uczenia maszynowego, w tym tradycyjne uczenie maszynowe na danych tabelarycznych, uczenie głębokie do przetwarzania obrazów i języka naturalnego, systemy rekomendacji, analizę grafów i nie tylko. Aby uzyskać ogólne informacje na temat uczenia maszynowego w usłudze Databricks, zobacz Sztuczna inteligencja i uczenie maszynowe w usłudze Databricks.
W przypadku algorytmów uczenia maszynowego można używać wstępnie zainstalowanych bibliotek w środowisku Databricks Runtime dla Machine Learning, w tym popularnych narzędzi Python, takich jak scikit-learn, TensorFlow, Keras, PyTorch, Apache Spark MLlib i XGBoost. Można również zainstalować biblioteki niestandardowe.
W przypadku operacji uczenia maszynowego (MLOps) Azure Databricks udostępnia usługę zarządzaną dla biblioteki open source MLflow. Dzięki funkcji śledzenia MLflow można rejestrować tworzenie modeli i zapisywać modele w formatach wielokrotnego użytku. Możesz użyć Rejestru modeli MLflow do zarządzania modelami i automatyzowania ich wprowadzania do produkcji. Zadania i obsługa modeli umożliwiają hostowanie modeli jako zadań wsadowych i przesyłanych strumieniowo oraz jako punktów końcowych REST. Aby uzyskać więcej informacji i przykładów, zobacz MLflow on Databricks lub MLflow Python API docs.
Aby rozpocząć pracę z typowymi obciążeniami uczenia maszynowego, zobacz następujące strony:
- Trenowanie modelu za pomocą scikit-learn i śledzenie z MLflow: 10-minutowy samouczek: uczenie maszynowe w Databricks z wykorzystaniem scikit-learn
- Trenowanie modeli uczenia głębokiego: uczenie głębokie
- Dostrajanie hiperparametryczne: dostrajanie hiperparametrów za pomocą optuna
- Analiza grafów: Jak używać elementów GraphFrame w Azure Databricks
Środowiska IDE, narzędzia programistyczne i zestawy SDK
Oprócz tworzenia kodu Python w notesach Azure Databricks można opracowywać zewnętrznie przy użyciu zintegrowanych środowisk deweloperskich (IDE), takich jak PyCharm, Jupyter i Visual Studio Code. Aby zsynchronizować pracę między zewnętrznymi środowiskami projektowymi i usługą Databricks, istnieje kilka opcji:
- Kod: kod można zsynchronizować przy użyciu narzędzia Git. Zobacz foldery Azure Databricks Git.
- Libraries i Jobs: Biblioteki (takie jak pliki Python wheel) można tworzyć zewnętrznie i przekazywać je do usługi Databricks. Te biblioteki mogą być importowane w notesach usługi Databricks lub mogą służyć do tworzenia zadań. Zobacz Instalowanie bibliotek i Zadań Lakeflow.
- Wykonywanie zadań na zdalnej maszynie: możesz uruchomić kod z lokalnego IDE dla celów interaktywnego programowania i testowania. Środowisko IDE może komunikować się z Azure Databricks w celu uruchamiania Apache Spark i dużych zadań obliczeniowych w klastrach Azure Databricks. Zobacz Databricks Connect.
Usługa Databricks udostępnia pakiet SDK, w tym pakiet SDK Python, który obsługuje automatyzację i integrację z zewnętrznymi narzędziami. Zestawy SDK usługi Databricks umożliwiają zarządzanie zasobami, takimi jak klastry i biblioteki, kod i inne obiekty obszaru roboczego, obciążenia i zadania itd. Zobacz zestawy SDK usługi Databricks.
Aby uzyskać więcej informacji na temat środowisk IDE, narzędzi deweloperskich i zestawów SDK, zobacz Lokalne narzędzia programistyczne.
Dodatkowe zasoby
- Akademia Databricks oferuje kursy w tempie własnym i prowadzone przez instruktora na różne tematy.
- Databricks Labs udostępnia narzędzia do tworzenia Python w usłudze Databricks, takich jak wtyczka pytest oraz wtyczka pylint. Azure Databricks oferuje również funkcje ułatwiające zarządzanie plikami testów jednostkowych Python w obszarze roboczym.
- Funkcje obsługujące współdziałanie między rozwiązaniem PySpark i biblioteką pandas obejmują następujące elementy:
- Python i narzędzia łączności z bazą danych SQL obejmują:
- Łącznik Databricks SQL Connector for Python umożliwia uruchamianie poleceń SQL w zasobach Azure Databricks przy użyciu kodu Python.
- pyodbc umożliwia połączenie z lokalnego kodu Python za pośrednictwem ODBC z danymi przechowywanymi w lakehouse Databricks.
- Często zadawane pytania i porady dotyczące przenoszenia obciążeń Python do usługi Databricks można znaleźć w Databricks Knowledge Base.