Udostępnij za pośrednictwem


Samouczek: tworzenie definicji zadania platformy Apache Spark w programie Synapse Studio

W tym samouczku pokazano, jak używać programu Synapse Studio do tworzenia definicji zadań platformy Apache Spark, a następnie przesyłać je do bezserwerowej puli platformy Apache Spark.

Ten samouczek obejmuje następujące zadania:

  • Tworzenie definicji zadania platformy Apache Spark dla platformy PySpark (Python)
  • Tworzenie definicji zadania platformy Apache Spark dla platformy Spark (Scala)
  • Tworzenie definicji zadania platformy Apache Spark dla platformy .NET Spark (C#/F#)
  • Tworzenie definicji zadania przez zaimportowanie pliku JSON
  • Eksportowanie pliku definicji zadania platformy Apache Spark do lokalnego
  • Przesyłanie definicji zadania platformy Apache Spark jako zadania wsadowego
  • Dodawanie definicji zadania platformy Apache Spark do potoku

Wymagania wstępne

Przed rozpoczęciem pracy z tym samouczkiem upewnij się, że zostały spełnione następujące wymagania:

  • Obszar roboczy usługi Azure Synapse Analytics. Aby uzyskać instrukcje, zobacz Tworzenie obszaru roboczego usługi Azure Synapse Analytics.
  • Bezserwerowa pula platformy Apache Spark.
  • Konto magazynu usługi ADLS Gen2. Musisz być współautorem danych obiektu blob usługi Storage w systemie plików usługi ADLS Gen2, z którym chcesz pracować. Jeśli tak nie jest, musisz ręcznie dodać uprawnienie.
  • Jeśli nie chcesz używać domyślnego magazynu obszaru roboczego, połącz wymagane konto magazynu usługi ADLS Gen2 w programie Synapse Studio.

Tworzenie definicji zadania platformy Apache Spark dla platformy PySpark (Python)

W tej sekcji utworzysz definicję zadania platformy Apache Spark dla programu PySpark (Python).

  1. Otwórz program Synapse Studio.

  2. Możesz przejść do pozycji Przykładowe pliki służące do tworzenia definicji zadań platformy Apache Spark, aby pobrać przykładowe pliki dla python.zip, a następnie rozpakuj skompresowany pakiet i wyodrębnij pliki wordcount.py i shakespeare.txt .

    przykładowe pliki

  3. Wybierz pozycję Dane ->Linked ->Azure Data Lake Storage Gen2 i przekaż wordcount.py i shakespeare.txt do systemu plików usługi ADLS Gen2.

    przekazywanie pliku w języku Python

  4. Wybierz pozycję Opracowywanie centrum, wybierz ikonę "+" i wybierz definicję zadania platformy Spark, aby utworzyć nową definicję zadania platformy Spark.

    tworzenie nowej definicji dla języka Python

  5. Wybierz pozycję PySpark (Python) z listy rozwijanej Język w oknie głównym definicji zadania platformy Apache Spark.

    wybieranie języka Python

  6. Podaj informacje dotyczące definicji zadania platformy Apache Spark.

    Właściwości opis
    Nazwa definicji zadania Wprowadź nazwę definicji zadania platformy Apache Spark. Ta nazwa może zostać zaktualizowana w dowolnym momencie do momentu jej opublikowania.
    Przykład: job definition sample
    Główny plik definicji Główny plik używany do zadania. Wybierz plik PY z magazynu. Możesz wybrać pozycję Przekaż plik , aby przekazać plik na konto magazynu.
    Przykład: abfss://…/path/to/wordcount.py
    Argumenty wiersza polecenia Opcjonalne argumenty zadania.
    Próbka: abfss://…/path/to/shakespeare.txt abfss://…/path/to/result
    Uwaga: dwa argumenty definicji przykładowego zadania są oddzielone spacją.
    Pliki referencyjne Dodatkowe pliki używane do odwołania w głównym pliku definicji. Możesz wybrać pozycję Przekaż plik , aby przekazać plik na konto magazynu.
    Pula platformy Spark Zadanie zostanie przesłane do wybranej puli platformy Apache Spark.
    Wersja platformy Spark Wersja platformy Apache Spark uruchomiona przez pulę platformy Apache Spark.
    Funkcje wykonawcze Liczba funkcji wykonawczych, które mają być podane w określonej puli platformy Apache Spark dla zadania.
    Rozmiar funkcji wykonawczej Liczba rdzeni i pamięci, które mają być używane dla funkcji wykonawczych podanych w określonej puli platformy Apache Spark dla zadania.
    Rozmiar sterownika Liczba rdzeni i pamięci, które mają być używane dla sterownika podanego w określonej puli platformy Apache Spark dla zadania.
    Konfiguracja platformy Apache Spark Dostosuj konfiguracje, dodając poniższe właściwości. Jeśli nie dodasz właściwości, usługa Azure Synapse będzie używać wartości domyślnej, jeśli ma to zastosowanie.

    Ustawianie wartości definicji zadania platformy Spark dla języka Python

  7. Wybierz pozycję Publikuj, aby zapisać definicję zadania platformy Apache Spark.

    publikowanie definicji py

Tworzenie definicji zadania platformy Apache Spark dla platformy Apache Spark (Scala)

W tej sekcji utworzysz definicję zadania platformy Apache Spark dla platformy Apache Spark (Scala).

  1. Otwórz program Azure Synapse Studio.

  2. Możesz przejść do pozycji Przykładowe pliki służące do tworzenia definicji zadań platformy Apache Spark, aby pobrać przykładowe pliki dla scala.zip, a następnie rozpakuj skompresowany pakiet i wyodrębnij pliki wordcount.jar i shakespeare.txt .

    przykładowe pliki scala

  3. Wybierz pozycję Dane ->Linked ->Azure Data Lake Storage Gen2 i przekaż wordcount.jar i shakespeare.txt do systemu plików usługi ADLS Gen2.

    przygotowywanie struktury scala

  4. Wybierz pozycję Opracowywanie centrum, wybierz ikonę "+" i wybierz definicję zadania platformy Spark, aby utworzyć nową definicję zadania platformy Spark. (Przykładowy obraz jest taki sam jak w kroku 4) Utwórz definicję zadania platformy Apache Spark (Python) dla programu PySpark.

  5. Wybierz pozycję Spark(Scala) z listy rozwijanej Język w oknie głównym definicji zadania platformy Apache Spark.

    wybieranie języka scala

  6. Podaj informacje dotyczące definicji zadania platformy Apache Spark. Możesz skopiować przykładowe informacje.

    Właściwości opis
    Nazwa definicji zadania Wprowadź nazwę definicji zadania platformy Apache Spark. Ta nazwa może zostać zaktualizowana w dowolnym momencie do momentu jej opublikowania.
    Przykład: scala
    Główny plik definicji Główny plik używany do zadania. Wybierz plik JAR z magazynu. Możesz wybrać pozycję Przekaż plik , aby przekazać plik na konto magazynu.
    Przykład: abfss://…/path/to/wordcount.jar
    Nazwa klasy głównej W pełni kwalifikowany identyfikator lub klasa główna, która znajduje się w głównym pliku definicji.
    Przykład: WordCount
    Argumenty wiersza polecenia Opcjonalne argumenty zadania.
    Próbka: abfss://…/path/to/shakespeare.txt abfss://…/path/to/result
    Uwaga: dwa argumenty definicji przykładowego zadania są oddzielone spacją.
    Pliki referencyjne Dodatkowe pliki używane do odwołania w głównym pliku definicji. Możesz wybrać pozycję Przekaż plik , aby przekazać plik na konto magazynu.
    Pula platformy Spark Zadanie zostanie przesłane do wybranej puli platformy Apache Spark.
    Wersja platformy Spark Wersja platformy Apache Spark uruchomiona przez pulę platformy Apache Spark.
    Funkcje wykonawcze Liczba funkcji wykonawczych, które mają być podane w określonej puli platformy Apache Spark dla zadania.
    Rozmiar funkcji wykonawczej Liczba rdzeni i pamięci, które mają być używane dla funkcji wykonawczych podanych w określonej puli platformy Apache Spark dla zadania.
    Rozmiar sterownika Liczba rdzeni i pamięci, które mają być używane dla sterownika podanego w określonej puli platformy Apache Spark dla zadania.
    Konfiguracja platformy Apache Spark Dostosuj konfiguracje, dodając poniższe właściwości. Jeśli nie dodasz właściwości, usługa Azure Synapse będzie używać wartości domyślnej, jeśli ma to zastosowanie.

    Ustawianie wartości definicji zadania platformy Spark dla języka scala

  7. Wybierz pozycję Publikuj, aby zapisać definicję zadania platformy Apache Spark.

    publikowanie definicji scala

Tworzenie definicji zadania platformy Apache Spark dla platformy .NET Spark(C#/F#)

W tej sekcji utworzysz definicję zadania platformy Apache Spark dla platformy .NET Spark(C#/F#).

  1. Otwórz program Azure Synapse Studio.

  2. Możesz przejść do pozycji Przykładowe pliki służące do tworzenia definicji zadań platformy Apache Spark, aby pobrać przykładowe pliki dla dotnet.zip, a następnie rozpakuj skompresowany pakiet i wyodrębnij pliki wordcount.zip i shakespeare.txt .

    przykładowa sieć dotnet

  3. Wybierz pozycję Dane ->Linked ->Azure Data Lake Storage Gen2 i przekaż wordcount.zip i shakespeare.txt do systemu plików usługi ADLS Gen2.

    przygotowywanie struktury dotnet

  4. Wybierz pozycję Opracowywanie centrum, wybierz ikonę "+" i wybierz definicję zadania platformy Spark, aby utworzyć nową definicję zadania platformy Spark. (Przykładowy obraz jest taki sam jak w kroku 4) Utwórz definicję zadania platformy Apache Spark (Python) dla programu PySpark.

  5. Wybierz pozycję .NET Spark(C#/F#) z listy rozwijanej Język w oknie głównym Definicji zadania platformy Apache Spark.

    wybierz pozycję dotnet

  6. Podaj informacje dotyczące definicji zadania platformy Apache Spark. Możesz skopiować przykładowe informacje.

    Właściwości opis
    Nazwa definicji zadania Wprowadź nazwę definicji zadania platformy Apache Spark. Ta nazwa może zostać zaktualizowana w dowolnym momencie do momentu jej opublikowania.
    Przykład: dotnet
    Główny plik definicji Główny plik używany do zadania. Wybierz plik ZIP zawierający aplikację platformy .NET dla platformy Apache Spark (czyli główny plik wykonywalny, biblioteki DLL zawierające funkcje zdefiniowane przez użytkownika i inne wymagane pliki) z magazynu. Możesz wybrać pozycję Przekaż plik , aby przekazać plik na konto magazynu.
    Przykład: abfss://…/path/to/wordcount.zip
    Główny plik wykonywalny Główny plik wykonywalny w głównym pliku ZIP definicji.
    Przykład: WordCount
    Argumenty wiersza polecenia Opcjonalne argumenty zadania.
    Próbka: abfss://…/path/to/shakespeare.txt abfss://…/path/to/result
    Uwaga: dwa argumenty definicji przykładowego zadania są oddzielone spacją.
    Pliki referencyjne Dodatkowe pliki wymagane przez węzły procesu roboczego do wykonywania aplikacji platformy .NET dla platformy Apache Spark, które nie są uwzględnione w głównym pliku ZIP definicji (tj. zależne pliki JAR, dodatkowe biblioteki DLL funkcji zdefiniowane przez użytkownika i inne pliki konfiguracji). Możesz wybrać pozycję Przekaż plik , aby przekazać plik na konto magazynu.
    Pula platformy Spark Zadanie zostanie przesłane do wybranej puli platformy Apache Spark.
    Wersja platformy Spark Wersja platformy Apache Spark uruchomiona przez pulę platformy Apache Spark.
    Funkcje wykonawcze Liczba funkcji wykonawczych, które mają być podane w określonej puli platformy Apache Spark dla zadania.
    Rozmiar funkcji wykonawczej Liczba rdzeni i pamięci, które mają być używane dla funkcji wykonawczych podanych w określonej puli platformy Apache Spark dla zadania.
    Rozmiar sterownika Liczba rdzeni i pamięci, które mają być używane dla sterownika podanego w określonej puli platformy Apache Spark dla zadania.
    Konfiguracja platformy Apache Spark Dostosuj konfiguracje, dodając poniższe właściwości. Jeśli nie dodasz właściwości, usługa Azure Synapse będzie używać wartości domyślnej, jeśli ma to zastosowanie.

    Ustawianie wartości definicji zadania platformy Spark dla aplikacji dotnet

  7. Wybierz pozycję Publikuj, aby zapisać definicję zadania platformy Apache Spark.

    publikowanie definicji dotnet

Uwaga

W przypadku konfiguracji platformy Apache Spark, jeśli definicja zadania platformy Apache Spark konfiguracji platformy Apache Spark nie wykonuje żadnych specjalnych czynności, podczas uruchamiania zadania zostanie użyta domyślna konfiguracja.

Tworzenie definicji zadania platformy Apache Spark przez zaimportowanie pliku JSON

Istniejący lokalny plik JSON można zaimportować do obszaru roboczego usługi Azure Synapse z menu Akcje (...) Eksploratora definicji zadania platformy Apache Spark w celu utworzenia nowej definicji zadania platformy Apache Spark.

tworzenie definicji importu

Definicja zadania platformy Spark jest w pełni zgodna z interfejsem API usługi Livy. Możesz dodać dodatkowe parametry dla innych właściwości usługi Livy (Livy Docs — interfejs API REST (apache.org) w lokalnym pliku JSON. Możesz również określić parametry powiązane z konfiguracją platformy Spark we właściwości konfiguracji, jak pokazano poniżej. Następnie możesz zaimportować plik JSON z powrotem, aby utworzyć nową definicję zadania platformy Apache Spark dla zadania wsadowego. Przykładowy kod JSON dla importowania definicji platformy Spark:

   {
  "targetBigDataPool": {
    "referenceName": "socdemolarge",
    "type": "BigDataPoolReference"
  },
  "requiredSparkVersion": "2.3",
  "language": "scala",
  "jobProperties": {
    "name": "robinSparkDefinitiontest",
    "file": "adl://socdemo-c14.azuredatalakestore.net/users/robinyao/wordcount.jar",
    "className": "WordCount",
    "args": [
      "adl://socdemo-c14.azuredatalakestore.net/users/robinyao/shakespeare.txt"
    ],
    "jars": [],
    "files": [],
    "conf": {
      "spark.dynamicAllocation.enabled": "false",
      "spark.dynamicAllocation.minExecutors": "2",
      "spark.dynamicAllocation.maxExecutors": "2"
    },
    "numExecutors": 2,
    "executorCores": 8,
    "executorMemory": "24g",
    "driverCores": 8,
    "driverMemory": "24g"
  }
}

inne właściwości usługi livy

Eksportowanie istniejącego pliku definicji zadania platformy Apache Spark

Istniejące pliki definicji zadań platformy Apache Spark można wyeksportować do lokalizacji lokalnej z menu Akcje (...) Eksplorator plików. Możesz dodatkowo zaktualizować plik JSON pod kątem dodatkowych właściwości usługi Livy i zaimportować go z powrotem, aby w razie potrzeby utworzyć nową definicję zadania.

tworzenie definicji eksportu

tworzenie definicji eksportu 2

Przesyłanie definicji zadania platformy Apache Spark jako zadania wsadowego

Po utworzeniu definicji zadania platformy Apache Spark możesz przesłać ją do puli platformy Apache Spark. Upewnij się, że jesteś współautorem danych obiektu blob usługi Storage w systemie plików usługi ADLS Gen2, z którym chcesz pracować. Jeśli tak nie jest, musisz ręcznie dodać uprawnienie.

Scenariusz 1. Przesyłanie definicji zadania platformy Apache Spark

  1. Otwórz okno definicji zadania platformy Apache Spark, wybierając je.

    Otwieranie definicji zadania platformy Spark w celu przesłania

  2. Wybierz przycisk Prześlij , aby przesłać projekt do wybranej puli platformy Apache Spark. Możesz wybrać kartę Adres URL monitorowania platformy Spark, aby wyświetlić pozycję LogQuery aplikacji Apache Spark.

    Wybierz przycisk Prześlij, aby przesłać definicję zadania platformy Spark

    Okno dialogowe Przesyłanie platformy Spark

Scenariusz 2. Wyświetlanie postępu uruchamiania zadania platformy Apache Spark

  1. Wybierz pozycję Monitoruj, a następnie wybierz opcję Aplikacje platformy Apache Spark. Przesłaną aplikację Platformy Apache Spark można znaleźć.

    Wyświetlanie aplikacji Platformy Spark

  2. Następnie wybierz aplikację Platformy Apache Spark, zostanie wyświetlone okno zadania SparkJobDefinition . Postęp wykonywania zadania można wyświetlić tutaj.

    Wyświetlanie zapytania logquery aplikacji platformy Spark

Scenariusz 3. Sprawdzanie pliku wyjściowego

  1. Wybierz pozycję Dane ->Linked ->Azure Data Lake Storage Gen2 (hozhaobdbj), otwórz utworzony wcześniej folder wyników , możesz przejść do folderu wyników i sprawdzić, czy dane wyjściowe są generowane.

    Wyświetlanie pliku wyjściowego

Dodawanie definicji zadania platformy Apache Spark do potoku

W tej sekcji do potoku dodasz definicję zadania platformy Apache Spark.

  1. Otwórz istniejącą definicję zadania platformy Apache Spark.

  2. Wybierz ikonę w prawym górnym rogu definicji zadania platformy Apache Spark, wybierz pozycję Istniejący potok lub Nowy potok. Więcej informacji można znaleźć na stronie Potok.

    dodawanie do potoku1

    dodawanie do potoku2

Następne kroki

Następnie możesz użyć usługi Azure Synapse Studio do tworzenia zestawów danych usługi Power BI i zarządzania danymi usługi Power BI. Przejdź do artykułu Łączenie obszaru roboczego usługi Power BI z obszarem roboczym usługi Synapse, aby dowiedzieć się więcej.