Szybki start: tworzenie bezserwerowej puli platformy Apache Spark w usłudze Azure Synapse Analytics przy użyciu narzędzi internetowych
Z tego przewodnika Szybki start dowiesz się, jak utworzyć bezserwerową pulę platformy Apache Spark w Azure Synapse przy użyciu narzędzi internetowych. Następnie nauczysz się łączyć się z pulą platformy Apache Spark i uruchamiać zapytania Spark SQL względem plików i tabel. Platforma Apache Spark umożliwia szybką analizę danych i używanie klastrów obliczeniowych korzystających z funkcji przetwarzania w pamięci. Aby uzyskać informacje na temat platformy Spark w Azure Synapse, zobacz Omówienie: Platforma Apache Spark w Azure Synapse.
Ważne
Rozliczenia dla wystąpień platformy Spark są naliczane proporcjonalnie na minutę, niezależnie od tego, czy są one używane. Pamiętaj, aby zamknąć wystąpienie platformy Spark po zakończeniu korzystania z niego lub ustawić krótki limit czasu. Aby uzyskać więcej informacji, zobacz sekcję Czyszczenie zasobów w tym artykule.
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
Wymagania wstępne
- Konieczna jest subskrypcja platformy Azure. W razie potrzeby utwórz bezpłatne konto platformy Azure
- Obszar roboczy usługi Synapse Analytics
- Bezserwerowa pula platformy Apache Spark
Logowanie się do witryny Azure Portal
Zaloguj się w witrynie Azure Portal.
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.
Tworzenie notesu
Notes to interaktywne środowisko, które obsługuje różne języki programowania. Notes umożliwia interakcję z danymi, łączenie kodu z markdown, tekstem i wykonywanie prostych wizualizacji.
W widoku Azure Portal dla obszaru roboczego Azure Synapse, którego chcesz użyć, wybierz pozycję Uruchom Synapse Studio.
Po uruchomieniu Synapse Studio wybierz pozycję Opracuj. Następnie wybierz ikonę "+", aby dodać nowy zasób.
W tym miejscu wybierz pozycję Notes. Nowy notes jest tworzony i otwierany przy użyciu automatycznie wygenerowanej nazwy.
W oknie Właściwości podaj nazwę notesu.
Na pasku narzędzi kliknij pozycję Publikuj.
Jeśli w obszarze roboczym znajduje się tylko jedna pula platformy Apache Spark, jest ona domyślnie wybrana. Użyj listy rozwijanej, aby wybrać poprawną pulę platformy Apache Spark, jeśli nie wybrano żadnej.
Kliknij pozycję Dodaj kod. Domyślnym językiem jest
Pyspark
. Użyjesz kombinacji narzędzi Pyspark i Spark SQL, więc domyślny wybór jest odpowiedni. Inne obsługiwane języki to Scala i .NET dla platformy Spark.Następnie utworzysz prosty obiekt ramki danych Spark do manipulowania. W takim przypadku utworzysz go na podstawie kodu. Istnieją trzy wiersze i trzy kolumny:
new_rows = [('CA',22, 45000),("WA",35,65000) ,("WA",50,85000)] demo_df = spark.createDataFrame(new_rows, ['state', 'age', 'salary']) demo_df.show()
Teraz uruchom komórkę przy użyciu jednej z następujących metod:
Naciśnij klawisze SHIFT + ENTER.
Wybierz niebieską ikonę odtwarzania po lewej stronie komórki.
Wybierz przycisk Uruchom wszystko na pasku narzędzi.
Jeśli wystąpienie puli Platformy Apache Spark nie jest jeszcze uruchomione, zostanie ono uruchomione automatycznie. Stan wystąpienia puli platformy Apache Spark znajduje się poniżej uruchomionej komórki, a także na panelu stanu w dolnej części notesu. W zależności od rozmiaru puli rozpoczęcie powinno potrwać od 2 do 5 minut. Po zakończeniu działania kodu poniżej komórki zostaną wyświetlone informacje pokazujące, jak długo trwało uruchomienie i jego wykonanie. W komórce wyjściowej są widoczne dane wyjściowe.
Dane istnieją teraz w ramce danych, z której można korzystać na wiele różnych sposobów. Będziesz potrzebować go w różnych formatach w pozostałej części tego przewodnika Szybki start.
Wprowadź poniższy kod w innej komórce i uruchom go, spowoduje to utworzenie tabeli Spark, pliku CSV i pliku Parquet z kopiami danych:
demo_df.createOrReplaceTempView('demo_df') demo_df.write.csv('demo_df', mode='overwrite') demo_df.write.parquet('abfss://<<TheNameOfAStorageAccountFileSystem>>@<<TheNameOfAStorageAccount>>.dfs.core.windows.net/demodata/demo_df', mode='overwrite')
Jeśli używasz Eksploratora magazynu, można zobaczyć wpływ dwóch różnych sposobów pisania pliku użytego powyżej. Jeśli żaden system plików nie zostanie określony, zostanie użyty domyślny, w tym przypadku
default>user>trusted-service-user>demo_df
. Dane są zapisywane w lokalizacji określonego systemu plików.Zwróć uwagę zarówno w formatach "csv" jak i "parquet", operacje zapisu są tworzone przy użyciu wielu partycjonowanych plików.
Uruchamianie instrukcji Spark SQL
Structured Query Language (SQL) to najczęściej używany język do wykonywania zapytań i definiowania danych. Rozwiązanie Spark SQL stanowi rozszerzenie platformy Apache Spark służące do przetwarzania danych strukturalnych za pomocą dobrze znanej składni języka SQL.
Wklej następujący kod w pustej komórce, a następnie uruchom kod. Polecenie wyświetla listę tabel w puli.
%%sql SHOW TABLES
Gdy używasz notesu z pulą platformy Apache Spark Azure Synapse, uzyskasz ustawienie wstępne
sqlContext
, którego można użyć do uruchamiania zapytań przy użyciu usługi Spark SQL.%%sql
polecenie notesu, aby użyć ustawienia wstępnegosqlContext
, aby uruchomić zapytanie. Zapytanie pobiera 10 pierwszych wierszy z tabeli systemowej, która jest domyślnie dostarczana ze wszystkimi pulami platformy Apache Spark Azure Synapse.Uruchom inne zapytanie, aby wyświetlić dane z tabeli
demo_df
.%%sql SELECT * FROM demo_df
Kod tworzy dwie komórki wyjściowe, jeden zawierający wyniki danych drugiego, który pokazuje widok zadania.
Domyślnie w widoku wyników jest wyświetlana siatka. Istnieje jednak przełącznik widoku pod siatką, który umożliwia przełączanie widoku między widokami siatki i grafów.
W przełączniku widoków wybierz pozycję Wykres.
Wybierz ikonę Wyświetl opcje z prawej strony.
W polu Typ wykresu wybierz pozycję "Wykres słupkowy".
W polu kolumny osi X wybierz pozycję "state".
W polu kolumny oś Y wybierz pozycję "wynagrodzenie".
W polu Agregacja wybierz pozycję "AVG".
Wybierz przycisk Zastosuj.
Istnieje możliwość uzyskania tego samego środowiska uruchamiania programu SQL, ale bez konieczności przełączania języków. Można to zrobić, zastępując komórkę SQL powyżej tą komórką PySpark, środowisko wyjściowe jest takie samo, ponieważ jest używane polecenie wyświetlania :
display(spark.sql('SELECT * FROM demo_df'))
Każda z wykonanych wcześniej komórek miała opcję przejścia na serwer historii i monitorowanie. Kliknięcie linków spowoduje przejście do różnych części środowiska użytkownika.
Uwaga
Niektóre oficjalne dokumenty platformy Apache Spark opierają się na użyciu konsoli Spark, która nie jest dostępna na platformie Synapse Spark. Zamiast tego użyj notesu lub środowiska IntelliJ .
Czyszczenie zasobów
Azure Synapse zapisuje dane w Azure Data Lake Storage. Możesz bezpiecznie zezwolić na zamknięcie wystąpienia platformy Spark, gdy nie jest ono używane. Opłaty są naliczane za bezserwerową pulę platformy Apache Spark, o ile jest uruchomiona, nawet jeśli nie jest używana.
Ponieważ opłaty za pulę są wielokrotnie większe niż opłaty za magazyn, ma to sens ekonomiczny, aby umożliwić zamykanie wystąpień platformy Spark, gdy nie są używane.
Aby upewnić się, że wystąpienie platformy Spark zostanie zamknięte, zakończ wszystkie połączone sesje (notesy). Pula zostanie zamknięta po osiągnięciu czasu bezczynności określonego w puli platformy Apache Spark. Możesz również wybrać sesję końcową na pasku stanu w dolnej części notesu.
Następne kroki
W tym przewodniku Szybki start pokazano, jak utworzyć bezserwerową pulę platformy Apache Spark i uruchomić podstawowe zapytanie Spark SQL.