Opracowywanie potoków tabel delta live za pomocą pakietów zasobów usługi Databricks
Pakiety zasobów usługi Databricks, znane również po prostu jako pakiety, umożliwiają programowe weryfikowanie, wdrażanie i uruchamianie zasobów usługi Azure Databricks, takich jak potoki tabel delta live. Można również używać pakietów do programowego zarządzania zadaniami usługi Azure Databricks i pracy z stosami MLOps. Zobacz Co to są pakiety zasobów usługi Databricks?.
W tym artykule opisano zestaw kroków, które można wykonać z lokalnej maszyny deweloperskich, aby użyć pakietu programowego, który programowo zarządza potokiem delta Live Tables.
Wymagania
- Interfejs wiersza polecenia usługi Databricks w wersji 0.218 lub nowszej. Aby sprawdzić zainstalowaną wersję interfejsu wiersza polecenia usługi Databricks, uruchom polecenie
databricks -v
. Aby zainstalować interfejs wiersza polecenia usługi Databricks, zobacz Instalowanie lub aktualizowanie interfejsu wiersza polecenia usługi Databricks. - Zdalny obszar roboczy musi mieć włączone pliki obszaru roboczego. Zobacz Co to są pliki obszaru roboczego?.
(Opcjonalnie) Instalowanie modułu języka Python w celu obsługi programowania potoków lokalnych
Usługa Databricks udostępnia moduł języka Python, który ułatwia lokalne opracowywanie kodu potoku delta Live Tables, zapewniając sprawdzanie składni, autouzupełnianie i sprawdzanie typu danych podczas pisania kodu w środowisku IDE.
Moduł języka Python na potrzeby programowania lokalnego jest dostępny w witrynie PyPi. Aby zainstalować moduł, zobacz wycinkę języka Python dla tabel delta Live Tables.
Decyzja: Utwórz pakiet przy użyciu szablonu lub ręcznie
Zdecyduj, czy chcesz utworzyć pakiet przy użyciu szablonu, czy ręcznie:
Tworzenie pakietu przy użyciu szablonu
W tych krokach utworzysz pakiet przy użyciu domyślnego szablonu pakietu usługi Azure Databricks dla języka Python. Te kroki prowadzą do utworzenia pakietu składającego się z notesu definiującego potok delta live tables, który filtruje dane z oryginalnego zestawu danych. Następnie należy zweryfikować, wdrożyć i uruchomić wdrożony potok w obszarze roboczym usługi Azure Databricks.
Krok 1. Konfigurowanie uwierzytelniania
W tym kroku skonfigurujesz uwierzytelnianie między interfejsem wiersza polecenia usługi Databricks na komputerze deweloperskim a obszarem roboczym usługi Azure Databricks. W tym artykule założono, że chcesz użyć uwierzytelniania użytkownika do komputera (U2M) OAuth i odpowiedniego profilu konfiguracji usługi Azure Databricks o nazwie DEFAULT
na potrzeby uwierzytelniania.
Uwaga
Uwierzytelnianie U2M jest odpowiednie do wypróbowanie tych kroków w czasie rzeczywistym. W przypadku w pełni zautomatyzowanych przepływów pracy usługa Databricks zaleca zamiast tego użycie uwierzytelniania maszynowego do maszyny OAuth (M2M). Zobacz instrukcje dotyczące konfigurowania uwierzytelniania M2M w temacie Uwierzytelnianie.
Użyj interfejsu wiersza polecenia usługi Databricks, aby lokalnie zainicjować zarządzanie tokenami OAuth, uruchamiając następujące polecenie dla każdego docelowego obszaru roboczego.
W poniższym poleceniu zastąp ciąg
<workspace-url>
adresem URL usługi Azure Databricks na obszar roboczy, na przykładhttps://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --host <workspace-url>
Interfejs wiersza polecenia usługi Databricks monituje o zapisanie informacji wprowadzonych jako profil konfiguracji usługi Azure Databricks. Naciśnij klawisz
Enter
, aby zaakceptować sugerowaną nazwę profilu lub wprowadź nazwę nowego lub istniejącego profilu. Każdy istniejący profil o tej samej nazwie zostanie zastąpiony wprowadzonymi informacjami. Profile umożliwiają szybkie przełączanie kontekstu uwierzytelniania między wieloma obszarami roboczymi.Aby uzyskać listę wszystkich istniejących profilów, w osobnym terminalu lub wierszu polecenia użyj interfejsu wiersza polecenia usługi Databricks, aby uruchomić polecenie
databricks auth profiles
. Aby wyświetlić istniejące ustawienia określonego profilu, uruchom poleceniedatabricks auth env --profile <profile-name>
.W przeglądarce internetowej wykonaj instrukcje na ekranie, aby zalogować się do obszaru roboczego usługi Azure Databricks.
Aby wyświetlić bieżącą wartość tokenu OAuth profilu i zbliżający się znacznik czasu wygaśnięcia tokenu, uruchom jedno z następujących poleceń:
databricks auth token --host <workspace-url>
databricks auth token -p <profile-name>
databricks auth token --host <workspace-url> -p <profile-name>
Jeśli masz wiele profilów o tej samej
--host
wartości, może być konieczne określenie--host
opcji i-p
, aby ułatwić interfejsowi wiersza polecenia usługi Databricks znalezienie prawidłowych pasujących informacji o tokenie OAuth.
Krok 2. Tworzenie pakietu
Pakiet zawiera artefakty, które chcesz wdrożyć, oraz ustawienia dla przepływów pracy, które chcesz uruchomić.
Użyj terminalu lub wiersza polecenia, aby przełączyć się do katalogu na lokalnej maszynie deweloperskiej, która będzie zawierać wygenerowany pakiet szablonu.
Uruchom polecenie za pomocą interfejsu
bundle init
wiersza polecenia usługi Dataricks:databricks bundle init
W polu
Template to use
pozostaw wartośćdefault-python
domyślną ciągu , naciskając klawiszEnter
.W polu
Unique name for this project
pozostaw wartośćmy_project
domyślną , lub wpisz inną wartość, a następnie naciśnij klawiszEnter
. Określa nazwę katalogu głównego dla tego pakietu. Ten katalog główny jest tworzony w bieżącym katalogu roboczym.W polu
Include a stub (sample) notebook
wybierz ino
naciśnij klawiszEnter
. Spowoduje to, że interfejs wiersza polecenia usługi Databricks nie doda w tym momencie przykładowego notesu, ponieważ przykładowy notes skojarzony z tą opcją nie ma w nim kodu delta Live Tables.W polu
Include a stub (sample) DLT pipeline
pozostaw wartośćyes
domyślną ciągu , naciskając klawiszEnter
. Spowoduje to, że interfejs wiersza polecenia usługi Databricks doda przykładowy notes z kodem delta Live Tables.W polu
Include a stub (sample) Python package
wybierz ino
naciśnij klawiszEnter
. Powoduje to, że interfejs wiersza polecenia usługi Databricks nie dodaje przykładowych plików pakietu wheel języka Python ani powiązanych instrukcji kompilacji do pakietu.
Krok 3. Eksplorowanie pakietu
Aby wyświetlić pliki wygenerowane przez szablon, przejdź do katalogu głównego nowo utworzonego pakietu i otwórz ten katalog przy użyciu preferowanego środowiska IDE, na przykład programu Visual Studio Code. Pliki o szczególnym znaczeniu obejmują następujące elementy:
databricks.yml
: Ten plik określa nazwę programową pakietu, zawiera odwołanie do definicji potoku i określa ustawienia docelowego obszaru roboczego.resources/<project-name>_job.yml
iresources/<project-name>_pipeline.yml
: Ten plik określa ustawienia potoku.src/dlt_pipeline.ipynb
: ten plik jest notesem, który podczas uruchamiania wykonuje potok.
W przypadku dostosowywania potoków mapowania w deklaracji potoku odpowiadają ładunkowi żądania operacji tworzenia potoku zgodnie z definicją w pliku POST /api/2.0/pipelines w odwołaniu interfejsu API REST wyrażonym w formacie YAML.
Krok 4. Weryfikowanie pliku konfiguracji pakietu projektu
W tym kroku sprawdzisz, czy konfiguracja pakietu jest prawidłowa.
Z katalogu głównego użyj interfejsu wiersza polecenia usługi Databricks, aby uruchomić
bundle validate
polecenie w następujący sposób:databricks bundle validate
Jeśli zostanie zwrócone podsumowanie konfiguracji pakietu, walidacja zakończyła się pomyślnie. Jeśli zostaną zwrócone jakiekolwiek błędy, napraw błędy, a następnie powtórz ten krok.
Jeśli po tym kroku wprowadzisz jakiekolwiek zmiany w pakiecie, należy powtórzyć ten krok, aby sprawdzić, czy konfiguracja pakietu jest nadal prawidłowa.
Krok 5. Wdrażanie projektu lokalnego w zdalnym obszarze roboczym
W tym kroku wdrożysz notes lokalny w zdalnym obszarze roboczym usługi Azure Databricks i utworzysz potok Delta Live Tables w obszarze roboczym.
Użyj interfejsu wiersza polecenia usługi Databricks, aby uruchomić
bundle validate
polecenie w następujący sposób:databricks bundle deploy -t dev
Sprawdź, czy notes lokalny został wdrożony: na pasku bocznym obszaru roboczego usługi Azure Databricks kliknij pozycję Obszar roboczy.
Kliknij folder src pliki > deweloperskie > Użytkownicy>
<your-username>
> .bundle.><project-name>
> Notes powinien znajdować się w tym folderze.Sprawdź, czy potok został utworzony: na pasku bocznym obszaru roboczego usługi Azure Databricks kliknij pozycję Delta Live Tables.
Na karcie Tabele na żywo delty kliknij pozycję [dev
<your-username>
]<project-name>
_pipeline.
Jeśli po tym kroku wprowadzisz jakiekolwiek zmiany w pakiecie, powtórz kroki od 4 do 5, aby sprawdzić, czy konfiguracja pakietu jest nadal prawidłowa, a następnie ponownie wdrożyć projekt.
Krok 6. Uruchamianie wdrożonego projektu
W tym kroku uruchomisz potok Delta Live Tables w obszarze roboczym.
Z katalogu głównego użyj interfejsu wiersza polecenia usługi Databricks, aby uruchomić
bundle run
polecenie w następujący sposób, zastępując<project-name>
ciąg nazwą projektu z kroku 2:databricks bundle run -t dev <project-name>_pipeline
Skopiuj wartość
Update URL
wyświetlaną w terminalu i wklej tę wartość w przeglądarce internetowej, aby otworzyć obszar roboczy usługi Azure Databricks.W obszarze roboczym usługi Azure Databricks po pomyślnym zakończeniu potoku kliknij widok taxi_raw i zmaterializowany widok filtered_taxis , aby wyświetlić szczegóły.
Jeśli po tym kroku wprowadzisz jakiekolwiek zmiany w pakiecie, powtórz kroki od 4 do 6, aby sprawdzić, czy konfiguracja pakietu jest nadal prawidłowa, ponownie wdrożyć projekt i uruchomić ponownie wdrożony projekt.
Krok 7. Czyszczenie
W tym kroku usuniesz wdrożony notes i potok z obszaru roboczego.
Z katalogu głównego użyj interfejsu wiersza polecenia usługi Databricks, aby uruchomić
bundle destroy
polecenie w następujący sposób:databricks bundle destroy -t dev
Potwierdź żądanie usunięcia potoku: po wyświetleniu monitu o trwałe zniszczenie zasobów wpisz
y
i naciśnij klawiszEnter
.Potwierdź żądanie usunięcia notesu: po wyświetleniu monitu o trwałe zniszczenie wcześniej wdrożonego folderu i wszystkich jego plików wpisz
y
i naciśnij klawiszEnter
.Jeśli chcesz również usunąć pakiet z komputera dewelopera, możesz teraz usunąć katalog lokalny z kroku 2.
Osiągnięto koniec kroków tworzenia pakietu przy użyciu szablonu.
Ręczne tworzenie pakietu
W tych krokach utworzysz pakiet od początku. Te kroki prowadzą do utworzenia pakietu składającego się z notesu z osadzonymi dyrektywami Delta Live Tables i definicją potoku delta Live Tables w celu uruchomienia tego notesu. Następnie zweryfikuj, wdróż i uruchom wdrożony notes z potoku w obszarze roboczym usługi Azure Databricks.
Krok 1. Tworzenie pakietu
Pakiet zawiera artefakty, które chcesz wdrożyć, oraz ustawienia dla przepływów pracy, które chcesz uruchomić.
- Utwórz lub zidentyfikuj pusty katalog na maszynie dewelopera.
- Przejdź do pustego katalogu w terminalu lub otwórz pusty katalog w środowisku IDE.
Napiwek
Pusty katalog może być skojarzony z sklonowanym repozytorium zarządzanym przez dostawcę usługi Git. Dzięki temu można zarządzać pakietem za pomocą zewnętrznej kontroli wersji i łatwiej współpracować z innymi deweloperami i specjalistami IT w projekcie. Jednak aby uprościć tę demonstrację, sklonowane repozytorium nie jest tutaj używane.
Jeśli zdecydujesz się sklonować repozytorium na potrzeby tego pokazu, usługa Databricks zaleca, aby repozytorium było puste lub zawierało tylko podstawowe pliki, takie jak README
i .gitignore
. W przeciwnym razie wszystkie istniejące pliki w repozytorium mogą być niepotrzebnie synchronizowane z obszarem roboczym usługi Azure Databricks.
Krok 2. Dodawanie notesu do projektu
W tym kroku dodasz notesy do projektu. Ten notes wykonuje następujące czynności:
- Odczytuje nieprzetworzone dane przesyłania strumieniowego JSON z zestawów danych usługi Databricks do nieprzetworzonej tabeli delty w
pipelines
folderze w folderze głównym dbFS obszaru roboczego usługi Azure Databricks. - Odczytuje rekordy z nieprzetworzonej tabeli delty i używa zapytania Delta Live Tables oraz oczekiwań w celu utworzenia nowej tabeli delty z oczyszczonymi i przygotowanymi danymi.
- Wykonuje analizę przygotowanych danych w nowej tabeli delty za pomocą zapytania Delta Live Tables.
W katalogu głównym utwórz plik o nazwie
dlt-wikipedia-python.py
.Dodaj następujący kod do pliku
dlt-wikipedia-python.py
:# Databricks notebook source import dlt from pyspark.sql.functions import * # COMMAND ---------- json_path = "/databricks-datasets/wikipedia-datasets/data-001/clickstream/raw-uncompressed-json/2015_2_clickstream.json" # COMMAND ---------- @dlt.table( comment="The raw wikipedia clickstream dataset, ingested from /databricks-datasets." ) def clickstream_raw(): return (spark.read.format("json").load(json_path)) # COMMAND ---------- @dlt.table( comment="Wikipedia clickstream data cleaned and prepared for analysis." ) @dlt.expect("valid_current_page_title", "current_page_title IS NOT NULL") @dlt.expect_or_fail("valid_count", "click_count > 0") def clickstream_prepared(): return ( dlt.read("clickstream_raw") .withColumn("click_count", expr("CAST(n AS INT)")) .withColumnRenamed("curr_title", "current_page_title") .withColumnRenamed("prev_title", "previous_page_title") .select("current_page_title", "click_count", "previous_page_title") ) # COMMAND ---------- @dlt.table( comment="A table containing the top pages linking to the Apache Spark page." ) def top_spark_referrers(): return ( dlt.read("clickstream_prepared") .filter(expr("current_page_title == 'Apache_Spark'")) .withColumnRenamed("previous_page_title", "referrer") .sort(desc("click_count")) .select("referrer", "click_count") .limit(10) )
Krok 3. Dodawanie pliku schematu konfiguracji pakietu do projektu
Jeśli używasz środowiska IDE, takiego jak Visual Studio Code, PyCharm Professional lub IntelliJ IDEA Ultimate, które zapewniają obsługę plików YAML i plików schematów JSON, możesz użyć środowiska IDE, aby nie tylko utworzyć plik schematu konfiguracji pakietu, ale także sprawdzić składnię pliku konfiguracji pakietu projektu i formatowanie i udostępnić wskazówki dotyczące uzupełniania kodu, Następujący sposób. Pamiętaj, że podczas gdy plik konfiguracji pakietu, który zostanie utworzony w dalszej części kroku 5, jest oparty na języku YAML, plik schematu konfiguracji pakietu w tym kroku jest oparty na formacie JSON.
Visual Studio Code
Dodaj obsługę serwera języka YAML do programu Visual Studio Code, na przykład przez zainstalowanie rozszerzenia YAML z witryny Visual Studio Code Marketplace.
Wygeneruj plik schematu JSON konfiguracji pakietu zasobów usługi Databricks przy użyciu interfejsu wiersza polecenia usługi Databricks, aby uruchomić
bundle schema
polecenie i przekierować dane wyjściowe do pliku JSON. Na przykład wygeneruj plik o nazwiebundle_config_schema.json
w bieżącym katalogu w następujący sposób:databricks bundle schema > bundle_config_schema.json
Pamiętaj, że w dalszej części kroku 5 dodasz następujący komentarz na początku pliku konfiguracji pakietu, który kojarzy plik konfiguracji pakietu z określonym plikiem schematu JSON:
# yaml-language-server: $schema=bundle_config_schema.json
Uwaga
W poprzednim komentarzu, jeśli plik schematu JSON konfiguracji pakietu zasobów usługi Databricks znajduje się w innej ścieżce, zastąp
bundle_config_schema.json
pełną ścieżką do pliku schematu.
Pycharm professional
Wygeneruj plik schematu JSON konfiguracji pakietu zasobów usługi Databricks przy użyciu interfejsu wiersza polecenia usługi Databricks, aby uruchomić
bundle schema
polecenie i przekierować dane wyjściowe do pliku JSON. Na przykład wygeneruj plik o nazwiebundle_config_schema.json
w bieżącym katalogu w następujący sposób:databricks bundle schema > bundle_config_schema.json
Skonfiguruj narzędzie PyCharm do rozpoznawania pliku schematu JSON konfiguracji pakietu, a następnie ukończ mapowanie schematu JSON, postępując zgodnie z instrukcjami w temacie Konfigurowanie niestandardowego schematu JSON.
Pamiętaj, że w dalszej części kroku 5 użyjesz narzędzia PyCharm do utworzenia lub otwarcia pliku konfiguracji pakietu. Zgodnie z konwencją ten plik ma nazwę
databricks.yml
.
Intellij idea ultimate
Wygeneruj plik schematu JSON konfiguracji pakietu zasobów usługi Databricks przy użyciu interfejsu wiersza polecenia usługi Databricks, aby uruchomić
bundle schema
polecenie i przekierować dane wyjściowe do pliku JSON. Na przykład wygeneruj plik o nazwiebundle_config_schema.json
w bieżącym katalogu w następujący sposób:databricks bundle schema > bundle_config_schema.json
Skonfiguruj środowisko IntelliJ IDEA do rozpoznawania pliku schematu JSON konfiguracji pakietu, a następnie ukończ mapowanie schematu JSON, postępując zgodnie z instrukcjami w temacie Konfigurowanie niestandardowego schematu JSON.
Pamiętaj, że w dalszej części kroku 5 użyjesz środowiska IntelliJ IDEA do utworzenia lub otwarcia pliku konfiguracji pakietu. Zgodnie z konwencją ten plik ma nazwę
databricks.yml
.
Krok 4. Konfigurowanie uwierzytelniania
W tym kroku skonfigurujesz uwierzytelnianie między interfejsem wiersza polecenia usługi Databricks na komputerze deweloperskim a obszarem roboczym usługi Azure Databricks. W tym artykule założono, że chcesz użyć uwierzytelniania użytkownika do komputera (U2M) OAuth i odpowiedniego profilu konfiguracji usługi Azure Databricks o nazwie DEFAULT
na potrzeby uwierzytelniania.
Uwaga
Uwierzytelnianie U2M jest odpowiednie do wypróbowanie tych kroków w czasie rzeczywistym. W przypadku w pełni zautomatyzowanych przepływów pracy usługa Databricks zaleca zamiast tego użycie uwierzytelniania maszynowego do maszyny OAuth (M2M). Zobacz instrukcje dotyczące konfigurowania uwierzytelniania M2M w temacie Uwierzytelnianie.
Użyj interfejsu wiersza polecenia usługi Databricks, aby lokalnie zainicjować zarządzanie tokenami OAuth, uruchamiając następujące polecenie dla każdego docelowego obszaru roboczego.
W poniższym poleceniu zastąp ciąg
<workspace-url>
adresem URL usługi Azure Databricks na obszar roboczy, na przykładhttps://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --host <workspace-url>
Interfejs wiersza polecenia usługi Databricks monituje o zapisanie informacji wprowadzonych jako profil konfiguracji usługi Azure Databricks. Naciśnij klawisz
Enter
, aby zaakceptować sugerowaną nazwę profilu lub wprowadź nazwę nowego lub istniejącego profilu. Każdy istniejący profil o tej samej nazwie zostanie zastąpiony wprowadzonymi informacjami. Profile umożliwiają szybkie przełączanie kontekstu uwierzytelniania między wieloma obszarami roboczymi.Aby uzyskać listę wszystkich istniejących profilów, w osobnym terminalu lub wierszu polecenia użyj interfejsu wiersza polecenia usługi Databricks, aby uruchomić polecenie
databricks auth profiles
. Aby wyświetlić istniejące ustawienia określonego profilu, uruchom poleceniedatabricks auth env --profile <profile-name>
.W przeglądarce internetowej wykonaj instrukcje na ekranie, aby zalogować się do obszaru roboczego usługi Azure Databricks.
Aby wyświetlić bieżącą wartość tokenu OAuth profilu i zbliżający się znacznik czasu wygaśnięcia tokenu, uruchom jedno z następujących poleceń:
databricks auth token --host <workspace-url>
databricks auth token -p <profile-name>
databricks auth token --host <workspace-url> -p <profile-name>
Jeśli masz wiele profilów o tej samej
--host
wartości, może być konieczne określenie--host
opcji i-p
, aby ułatwić interfejsowi wiersza polecenia usługi Databricks znalezienie prawidłowych pasujących informacji o tokenie OAuth.
Krok 5. Dodawanie pliku konfiguracji pakietu do projektu
W tym kroku zdefiniujesz sposób wdrażania i uruchamiania tego notesu. Na potrzeby tego pokazu chcesz użyć potoku Delta Live Tables do uruchomienia notesu. Modelujesz ten cel w pliku konfiguracji pakietu w projekcie.
- Z katalogu głównego użyj ulubionego edytora tekstów lub środowiska IDE, aby utworzyć plik konfiguracji pakietu. Zgodnie z konwencją ten plik ma nazwę
databricks.yml
. - Dodaj następujący kod do
databricks.yml
pliku, zastępując<workspace-url>
ciąg adresem URL obszaru roboczego, na przykładhttps://adb-1234567890123456.7.azuredatabricks.net
. Ten adres URL musi być zgodny z adresem w.databrickscfg
pliku:
Napiwek
Pierwszy wiersz, rozpoczynający się od # yaml-language-server
, jest wymagany tylko wtedy, gdy środowisko IDE go obsługuje. Aby uzyskać szczegółowe informacje, zobacz Krok 3 wcześniej.
# yaml-language-server: $schema=bundle_config_schema.json
bundle:
name: dlt-wikipedia
resources:
pipelines:
dlt-wikipedia-pipeline:
name: dlt-wikipedia-pipeline
development: true
continuous: false
channel: "CURRENT"
photon: false
libraries:
- notebook:
path: ./dlt-wikipedia-python.py
edition: "ADVANCED"
clusters:
- label: "default"
num_workers: 1
targets:
development:
workspace:
host: <workspace-url>
W przypadku dostosowywania potoków mapowania w deklaracji potoku odpowiadają ładunkowi żądania operacji tworzenia potoku zgodnie z definicją w pliku POST /api/2.0/pipelines w odwołaniu interfejsu API REST wyrażonym w formacie YAML.
Krok 6. Weryfikowanie pliku konfiguracji pakietu projektu
W tym kroku sprawdzisz, czy konfiguracja pakietu jest prawidłowa.
Użyj interfejsu wiersza polecenia usługi Databricks, aby uruchomić
bundle validate
polecenie w następujący sposób:databricks bundle validate
Jeśli zostanie zwrócone podsumowanie konfiguracji pakietu, walidacja zakończyła się pomyślnie. Jeśli zostaną zwrócone jakiekolwiek błędy, napraw błędy, a następnie powtórz ten krok.
Jeśli po tym kroku wprowadzisz jakiekolwiek zmiany w pakiecie, należy powtórzyć ten krok, aby sprawdzić, czy konfiguracja pakietu jest nadal prawidłowa.
Krok 7. Wdrażanie projektu lokalnego w zdalnym obszarze roboczym
W tym kroku wdrożysz notes lokalny w zdalnym obszarze roboczym usługi Azure Databricks i utworzysz potok Delta Live Tables w obszarze roboczym.
Użyj interfejsu wiersza polecenia usługi Databricks, aby uruchomić
bundle validate
polecenie w następujący sposób:databricks bundle deploy -t development
Sprawdź, czy notes lokalny został wdrożony: na pasku bocznym obszaru roboczego usługi Azure Databricks kliknij pozycję Obszar roboczy.
Kliknij folder Pliki programistyczne > Użytkownicy dlt-wikipedia > użytkownicy >
<your-username>
>>. Notes powinien znajdować się w tym folderze.Sprawdź, czy potok Delta Live Tables został utworzony: na pasku bocznym obszaru roboczego usługi Azure Databricks kliknij pozycję Przepływy pracy.
Na karcie Delta Live Tables (Tabele na żywo delty) kliknij pozycję dlt-wikipedia-pipeline.
Jeśli po tym kroku wprowadzisz jakiekolwiek zmiany w pakiecie, powtórz kroki od 6 do 7, aby sprawdzić, czy konfiguracja pakietu jest nadal prawidłowa, a następnie ponownie wdrożyć projekt.
Krok 8. Uruchamianie wdrożonego projektu
W tym kroku uruchomisz zadanie usługi Azure Databricks w obszarze roboczym.
Użyj interfejsu wiersza polecenia usługi Databricks, aby uruchomić
bundle run
polecenie w następujący sposób:databricks bundle run -t development dlt-wikipedia-pipeline
Skopiuj wartość
Update URL
wyświetlaną w terminalu i wklej tę wartość w przeglądarce internetowej, aby otworzyć obszar roboczy usługi Azure Databricks.W obszarze roboczym usługi Azure Databricks po pomyślnym zakończeniu potoku Delta Live Tables i wyświetl zielone paski tytułu w różnych zmaterializowanych widokach, kliknij clickstream_raw, clickstream_prepared lub top_spark_referrers zmaterializowane widoki, aby wyświetlić więcej szczegółów.
Przed rozpoczęciem następnego kroku czyszczenia zanotuj lokalizację tabel delty utworzonych w systemie dbFS w następujący sposób. Te informacje będą potrzebne, jeśli chcesz ręcznie wyczyścić te tabele różnicowe później:
- Po otwarciu potoku Delta Live Tables kliknij przycisk Ustawienia (obok przycisków Uprawnienia i Harmonogram).
- W obszarze Miejsce docelowe zanotuj wartość pola Lokalizacja magazynu. W tym miejscu tabele delty zostały utworzone w systemie plików DBFS.
Jeśli po tym kroku wprowadzisz jakiekolwiek zmiany w pakiecie, powtórz kroki od 6 do 8, aby sprawdzić, czy konfiguracja pakietu jest nadal prawidłowa, ponownie wdróż projekt i uruchom ponownie wdrożony projekt.
Krok 9. Czyszczenie
W tym kroku usuniesz wdrożony notes i potok Delta Live Tables z obszaru roboczego.
Użyj interfejsu wiersza polecenia usługi Databricks, aby uruchomić
bundle destroy
polecenie w następujący sposób:databricks bundle destroy
Potwierdź żądanie usunięcia potoku delta Live Tables: po wyświetleniu monitu o trwałe zniszczenie zasobów wpisz
y
i naciśnij klawiszEnter
.Potwierdź żądanie usunięcia notesu: po wyświetleniu monitu o trwałe zniszczenie wcześniej wdrożonego folderu i wszystkich jego plików wpisz
y
i naciśnij klawiszEnter
.
bundle destroy
Uruchomienie polecenia powoduje usunięcie tylko wdrożonego potoku delta live tables i folderu zawierającego wdrożony notes. To polecenie nie usuwa żadnych skutków ubocznych, takich jak tabele delty utworzone w systemie plików DBFS. Jeśli musisz usunąć te tabele delty, musisz to zrobić ręcznie.
Dodawanie istniejącej definicji potoku do pakietu
Możesz użyć istniejącej definicji potoku delta Live Tables jako podstawy, aby zdefiniować nowy potok w pliku konfiguracji pakietu. W tym celu wykonaj następujące kroki.
Uwaga
Poniższe kroki umożliwiają utworzenie nowego potoku, który ma te same ustawienia co istniejący potok. Jednak nowy potok ma inny identyfikator potoku niż istniejący potok. Nie można automatycznie zaimportować istniejącego identyfikatora potoku do pakietu.
Krok 1. Pobieranie istniejącej definicji potoku w formacie JSON
W tym kroku użyjesz interfejsu użytkownika obszaru roboczego usługi Azure Databricks, aby uzyskać reprezentację JSON istniejącej definicji potoku.
- Na pasku bocznym obszaru roboczego usługi Azure Databricks kliknij pozycję Przepływy pracy.
- Na karcie Delta Live Tables (Tabele na żywo delty) kliknij link Nazwa potoku.
- Między przyciskami Uprawnienia i Harmonogram kliknij przycisk Ustawienia.
- Kliknij przycisk JSON.
- Skopiuj kod JSON definicji potoku.
Krok 2. Konwertowanie definicji potoku z formatu JSON na format YAML
Definicja potoku skopiowana z poprzedniego kroku jest w formacie JSON. Konfiguracje pakietów są w formacie YAML. Musisz przekonwertować definicję potoku z formatu JSON na format YAML. Usługa Databricks zaleca następujące zasoby do konwertowania kodu JSON na YAML:
- Przekonwertuj kod JSON na plik YAML w trybie online.
- W przypadku programu Visual Studio Code rozszerzenie json2yaml .
Krok 3. Dodawanie definicji potoku YAML do pliku konfiguracji pakietu
W pliku konfiguracji pakietu dodaj kod YAML skopiowany z poprzedniego kroku do jednej z następujących lokalizacji oznaczonych <pipeline-yaml-can-go-here>
w plikach konfiguracji pakietu w następujący sposób:
resources:
pipelines:
<some-unique-programmatic-identifier-for-this-pipeline>:
<pipeline-yaml-can-go-here>
targets:
<some-unique-programmatic-identifier-for-this-target>:
resources:
pipelines:
<some-unique-programmatic-identifier-for-this-pipeline>:
<pipeline-yaml-can-go-here>
Krok 4. Dodawanie notesów, plików języka Python i innych artefaktów do pakietu
Wszystkie pliki i notesy języka Python, do których odwołuje się istniejący potok, powinny zostać przeniesione do źródeł pakietu.
Aby uzyskać lepszą zgodność z pakietami, notesy powinny używać formatu notesu IPython (.ipynb
). Jeśli tworzysz pakiet lokalnie, możesz wyeksportować istniejący notes z obszaru roboczego usługi Azure Databricks do .ipynb
formatu, klikając pozycję Plik > Eksportuj > notes IPython z poziomu interfejsu użytkownika notesu usługi Azure Databricks. Zgodnie z konwencją należy następnie umieścić pobrany notes w src/
katalogu w pakiecie.
Po dodaniu notesów, plików języka Python i innych artefaktów do pakietu upewnij się, że definicja potoku odwołuje się do nich. Na przykład w przypadku notesu hello.ipynb
z nazwą pliku, który znajduje się w src/
katalogu, a src/
katalog znajduje się w tym samym folderze co plik konfiguracji pakietu, który odwołuje się do src/
katalogu, definicja potoku może być wyrażona w następujący sposób:
resources:
pipelines:
hello-pipeline:
name: hello-pipeline
libraries:
-
notebook:
path: ./src/hello.ipynb
Krok 5. Weryfikowanie, wdrażanie i uruchamianie nowego potoku
Sprawdź, czy pliki konfiguracji pakietu są poprawne składniowo, uruchamiając następujące polecenie:
databricks bundle validate
Wdróż pakiet, uruchamiając następujące polecenie. W tym poleceniu zastąp
<target-identifier>
unikatowym identyfikatorem programowym elementu docelowego z konfiguracji pakietu:databricks bundle deploy -t <target-identifier>
Uruchom potok, uruchamiając następujące polecenie. W tym poleceniu zastąp następujące elementy:
- Zastąp
<target-identifier>
element unikatowym identyfikatorem programowym elementu docelowego z konfiguracji pakietu. - Zastąp
<pipeline-identifier>
element unikatowym identyfikatorem programowym potoku z konfiguracji pakietu.
databricks bundle run -t <target-identifier> <pipeline-identifier>
- Zastąp
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla