Używanie platformy Spark w notesach
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.
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:
Podpowiedzi języka naturalnego — można wpisywać proste instrukcje w języku angielskim w interfejsie przypominającym czat i wstawiać kod do notatnika.
Polecenia Slash — szybkie polecenia, takie jak
/explain,/fixlub/optimize, które umożliwiają wykonywanie działań na wybranym kodzie. Na przykład/explaindzieli złożoną funkcję na prostsze kroki,/fixmoże próbować rozwiązać błędy składni lub środowiska uruchomieniowego oraz/optimizesugeruje ulepszenia wydajności, takie jak ponowne partycjonowanie lub korzystanie z wydajnych funkcji platformy Spark.
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.
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.
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.