Używanie platformy Spark w notesach

Ukończone

Możesz uruchamiać wiele różnych rodzajów aplikacji na platformie Spark, w tym kod w skryptach języka Python lub Scala, kod Java kompilowany jako archiwum Java (JAR) i inne. Platforma Spark jest często używana w dwóch rodzajach obciążeń:

  • Zadania przetwarzania wsadowego lub strumieniowego w celu pozyskiwania, czyszczenia i przekształcania danych — często są uruchamiane w ramach zautomatyzowanego potoku.
  • Interaktywne sesje analityczne umożliwiające eksplorowanie, analizowanie i wizualizowanie danych.

Podstawy edytowania notatnika i kodu

Notatniki Databricks to główne środowisko pracy dla data science, inżynierii danych i analityki. Są one tworzone wokół komórek, które mogą zawierać kod lub sformatowany tekst (Markdown). To podejście oparte na komórkach ułatwia eksperymentowanie, testowanie i wyjaśnianie pracy w jednym miejscu. Można uruchomić pojedynczą komórkę, grupę komórek lub cały notes z danymi wyjściowymi, takimi jak tabele, wykresy lub zwykły tekst wyświetlany bezpośrednio poniżej wykonanej komórki. Komórki można rozmieścić, zwinąć lub wyczyścić, aby zachować uporządkowanie i czytelność notatnika.

Zrzut ekranu przedstawiający notes w usłudze Azure Databricks.

Główną siłą notesów usługi Databricks jest obsługa wielu języków. Chociaż ustawieniem domyślnym jest często język Python, można przełączyć się na język SQL, Scala lub R w tym samym notesie, używając poleceń magic, takich jak %sql lub %scala. Ta elastyczność oznacza, że logikę ETL można napisać w języku SQL, kodzie uczenia maszynowego w języku Python, a następnie wizualizować wyniki za pomocą języka R — wszystko w jednym przepływie pracy. Usługa Databricks udostępnia również autouzupełnianie i wyróżnianie składni, co ułatwia przechwytywanie błędów i przyspieszanie kodowania.

Przed uruchomieniem dowolnego kodu należy podłączyć notatnik do klastra. Bez dołączonego klastra nie można uruchamiać komórek kodu. Możesz wybrać istniejący klaster na pasku narzędzi notesu lub utworzyć nowy i w razie potrzeby łatwo odłączyć i ponownie dołączyć notesy. To połączenie umożliwia notebookowi wykorzystanie mocy obliczeniowej rozproszonego przetwarzania w usłudze Azure Databricks.

Korzystanie z asystenta usługi Databricks

Asystent usługi Databricks to towarzysz kodowania opartego na sztucznej inteligencji wbudowany bezpośrednio w notesy. Jego celem jest ułatwienie pisania, zrozumienia i wydajniejszego ulepszania kodu dzięki wykorzystaniu kontekstu z notesu i obszaru roboczego. Może generować nowy kod z monitów języka naturalnego, wyjaśniać złożoną logikę, sugerować poprawki błędów, zoptymalizować wydajność, a nawet refaktoryzować lub sformatować kod pod kątem czytelności. To sprawia, że warto nie tylko dla początkujących uczących się platformy Spark lub SQL, ale także dla doświadczonych użytkowników, którzy chcą przyspieszyć programowanie i zmniejszyć powtarzalną pracę.

Asystent jest świadomy kontekstu, co oznacza, że może używać informacji o notesie, klastrze i środowisku danych w celu udostępnienia dostosowanych sugestii. Jeśli na przykład obszar roboczy ma włączony Unity Catalog, może pobierać metadane, takie jak nazwy tabel, nazwy kolumn i schematy podczas pisania zapytań SQL. Dzięki temu możesz zapytać coś takiego jak "Wybierz średnią kwotę sprzedaży według regionu z tabeli sprzedaży" i uzyskaj działający kod SQL pasujący do rzeczywistego modelu danych. Podobnie w języku Python możesz poprosić go o utworzenie przekształceń danych lub zadań platformy Spark bez konieczności odwoływania każdego podpisu funkcji z pamięci.

Możesz korzystać z asystenta na dwa główne sposoby:

  1. Podpowiedzi języka naturalnego — można wpisywać proste instrukcje w języku angielskim w interfejsie przypominającym czat i wstawiać kod do notatnika.

  2. Polecenia Slash — szybkie polecenia, takie jak /explain, /fixlub /optimize , które umożliwiają wykonywanie działań na wybranym kodzie. Na przykład /explain dzieli złożoną funkcję na prostsze kroki, /fix może próbować rozwiązać błędy składni lub środowiska uruchomieniowego oraz /optimize sugeruje ulepszenia wydajności, takie jak ponowne partycjonowanie lub korzystanie z wydajnych funkcji platformy Spark.

Zrzut ekranu asystenta sztucznej inteligencji w notesie usługi Azure Databricks.

Zaawansowaną funkcją jest tryb edycji, w którym asystent może zaproponować większe zmiany strukturalne w wielu komórkach. Na przykład może refaktoryzować powtarzaną logikę do pojedynczej funkcji wielokrotnego użytku lub restrukturyzacji przepływu pracy w celu zapewnienia lepszej czytelności. Zawsze masz kontrolę: sugestie są niezniszczające, co oznacza, że można je przejrzeć i zaakceptować lub odrzucić przed zastosowaniem zmian w notesie.

Udostępnianie i modularyzacja kodu

Aby uniknąć duplikowania i poprawić konserwowalność, Databricks obsługuje umieszczanie kodu wielokrotnego użytku w plikach (na przykład modułach .py) w obszarze roboczym, które mogą importować notesy. Istnieją mechanizmy organizowania notesów (czyli uruchamiania notesów z innych notesów lub zadań z wieloma zadaniami), dzięki czemu można tworzyć przepływy pracy korzystające z funkcji udostępnionych lub modułów. Użycie %run to prostszy sposób dołączania innego notesu, choć z pewnymi ograniczeniami.

Debugowanie, historia wersji i cofanie błędów

Usługa Databricks oferuje wbudowany interaktywny debuger notesów języka Python: można ustawić punkty przerwania, przejść przez wykonywanie, sprawdzić zmienne i przechodzić przez wykonywanie kodu krok po kroku. Pomaga to skuteczniej odnaleźć usterki niż debugowanie za pomocą wydruków/logów.

Zanotowany zrzut ekranu przedstawiający pasek narzędzi debugera w notesie usługi Azure Databricks.

Notesy zachowują również historię wersji automatycznie: można wyświetlać wcześniejsze migawki, nadawać opisy wersji, przywracać stare wersje lub usuwać/czyścić historię. Jeśli używasz integracji z usługą Git, możesz synchronizować i wersjonować notesy/pliki w repozytorium.

Zrzut ekranu przedstawiający historię przywracania wersji w notesie usługi Azure Databricks.

Napiwek

Aby uzyskać więcej informacji na temat pracy z notesami w usłudze Azure Databricks, zobacz artykuł Notesy w dokumentacji usługi Azure Databricks.