Udostępnij za pośrednictwem


Samouczek: tworzenie aplikacji platformy Apache Spark za pomocą środowiska IntelliJ przy użyciu obszaru roboczego usługi Synapse

W tym samouczku pokazano, jak używać wtyczki Azure Toolkit for IntelliJ do tworzenia aplikacji platformy Apache Spark napisanych w języku Scala, a następnie przesyłać je do bezserwerowej puli Apache Spark bezpośrednio ze zintegrowanego środowiska projektowego (IDE) intelliJ. Wtyczkę można użyć na kilka sposobów:

  • Tworzenie i przesyłanie aplikacji Scala Spark w puli platformy Spark.
  • Uzyskiwanie dostępu do zasobów pul platformy Spark.
  • Lokalnie twórz i uruchamiaj aplikację Platformy Spark w języku Scala.

Z tego samouczka dowiesz się, jak wykonywać następujące czynności:

  • Korzystanie z wtyczki Azure Toolkit for IntelliJ
  • Tworzenie aplikacji platformy Apache Spark
  • Przesyłanie aplikacji do pul platformy Spark

Wymagania wstępne

  • IntelliJ IDEA Community Version(Wersja społeczności środowiska IntelliJ IDEA).

  • Wtyczka zestawu narzędzi platformy Azure 3.27.0-2019.2 — instalowanie z repozytorium wtyczki IntelliJ

  • Zestaw JDK (wersja 1.8).

  • Wtyczka Scala — zainstaluj z repozytorium wtyczki IntelliJ.

  • Następujące wymaganie wstępne dotyczy tylko użytkowników systemu Windows:

    Podczas uruchamiania lokalnej aplikacji Spark Scala na komputerze z systemem Windows może wystąpić wyjątek, jak wyjaśniono w artykule SPARK-2356. Wyjątek występuje, ponieważ w systemie Windows brakuje WinUtils.exe. Aby rozwiązać ten błąd, pobierz plik wykonywalny WinUtils do lokalizacji, takiej jak C:\WinUtils\bin. Następnie dodaj zmienną środowiskową HADOOP_HOME i ustaw wartość zmiennej na C:\WinUtils.

Tworzenie aplikacji Spark Scala dla puli platformy Spark

  1. Uruchom środowisko IntelliJ IDEA i wybierz pozycję Create New Project (Utwórz nowy projekt), aby otworzyć okno New Project (Nowy projekt).

  2. Wybierz pozycję Apache Spark/HDInsight w okienku po lewej stronie.

  3. Wybierz pozycję Projekt Spark z przykładami (Scala) w oknie głównym.

  4. Z listy rozwijanej Narzędzie kompilacji wybierz jeden z następujących typów:

    • Maven — w celu obsługi kreatora tworzenia projektu Scala.
    • SBT — na potrzeby zarządzania zależnościami i kompilacji projektu Scala.

    Okno dialogowe Nowy projekt Środowiska IntelliJ IDEA

  5. Wybierz Dalej.

  6. W oknie New Project (Nowy projekt) podaj następujące informacje:

    Właściwości opis
    Nazwa projektu Wprowadź nazwę. W tym samouczku użyto regionu myApp.
    Lokalizacja projektu Wprowadź lokalizację, w ramach którego chcesz zapisać projekt.
    Zestaw SDK projektu Może to być puste w pierwszym użyciu środowiska IDEA. Wybierz pozycję New... (Nowy...) i przejdź do swojego zestawu JDK.
    Wersja platformy Spark Kreator tworzenia integruje poprawną wersję dla zestawów Spark SDK i Scala SDK. W tym miejscu możesz wybrać potrzebną wersję platformy Spark.

    Wybieranie zestawu Sdk platformy Apache Spark

  7. Wybierz Zakończ. Udostępnienie projektu może potrwać kilka minut.

  8. Projekt Spark automatycznie tworzy artefakt. Aby wyświetlić artefakt, wykonaj następujące czynności:

    a. Na pasku menu przejdź do pozycji Struktura projektu plików>....

    b. W oknie Struktura projektu wybierz pozycję Artefakty.

    c. Po wyświetleniu artefaktu wybierz pozycję Anuluj .

    Informacje o artefaktach w oknie dialogowym

  9. Znajdź pozycję LogQuery z pliku myApp>src>main>scala>sample>LogQuery. W tym samouczku do uruchomienia jest używana funkcja LogQuery .

    Polecenia służące do tworzenia klasy Scala z poziomu programu Project

Nawiązywanie połączenia z pulami platformy Spark

Zaloguj się do subskrypcji platformy Azure, aby nawiązać połączenie z pulami platformy Spark.

Zaloguj się do Twojej subskrypcji platformy Azure.

  1. Na pasku menu przejdź do pozycji Wyświetl>narzędzie Windows>Azure Explorer.

    Środowisko IntelliJ IDEA pokazuje eksploratora platformy Azure

  2. W eksploratorze platformy Azure kliknij prawym przyciskiem myszy węzeł platformy Azure, a następnie wybierz pozycję Zaloguj.

    Eksplorator środowiska IntelliJ IDEA kliknij prawym przyciskiem myszy platformę Azure

  3. W oknie dialogowym Logowanie do platformy Azure wybierz pozycję Logowanie do urządzenia, a następnie wybierz pozycję Zaloguj.

    Logowanie do platformy Azure środowiska IntelliJ IDEA

  4. W oknie dialogowym Logowanie do urządzenia platformy Azure wybierz pozycję Kopiuj i otwórz.

    Logowanie do urządzenia platformy Azure w środowisku IntelliJ IDEA

  5. W interfejsie przeglądarki wklej kod, a następnie wybierz przycisk Dalej.

    Firma Microsoft wprowadza okno dialogowe kodu dla usługi HDI

  6. Wprowadź poświadczenia platformy Azure, a następnie zamknij przeglądarkę.

    Firma Microsoft wprowadza okno dialogowe poczty e-mail dla usługi HDI

  7. Po zalogowaniu okno dialogowe Wybieranie subskrypcji zawiera listę wszystkich subskrypcji platformy Azure skojarzonych z poświadczeniami. Wybierz subskrypcję, a następnie wybierz pozycję Wybierz.

    Okno dialogowe Select Subscriptions (Wybieranie subskrypcji)

  8. W eksploratorze platformy Azure rozwiń węzeł Apache Spark w usłudze Synapse , aby wyświetlić obszary robocze, które znajdują się w Twoich subskrypcjach.

    Widok główny narzędzia IntelliJ IDEA w usłudze Azure Explorer

  9. Aby wyświetlić pule platformy Spark, możesz dodatkowo rozwinąć obszar roboczy.

    Konta usługi Azure Explorer Storage

Zdalne uruchamianie aplikacji Spark Scala w puli spark

Po utworzeniu aplikacji Scala można ją zdalnie uruchomić.

  1. Otwórz okno Run/Debug Configurations (Uruchamianie/debugowanie konfiguracji), wybierając ikonę.

    Polecenie 1 Prześlij aplikację Spark do usługi HDInsight

  2. W oknie dialogowym Uruchamianie/debugowanie konfiguracji wybierz pozycję , a następnie wybierz pozycję +Apache Spark w usłudze Synapse.

    Polecenie Prześlij aplikację Spark do usługi HDInsight 2

  3. W oknie Run/Debug Configurations (Konfiguracje uruchamiania/debugowania) podaj następujące wartości, a następnie wybierz przycisk OK:

    Właściwości Wartość
    Pule zadań platformy Spark Wybierz pule platformy Spark, w których chcesz uruchomić aplikację.
    Wybieranie artefaktu do przesłania Pozostaw ustawienie domyślne.
    Nazwa klasy głównej Wartość domyślna to klasa główna z wybranego pliku. Klasę można zmienić, wybierając wielokropek(...) i wybierając inną klasę.
    Konfiguracje zadań Możesz zmienić domyślny klucz i wartości. Aby uzyskać więcej informacji, zobacz Interfejs API REST usługi Apache Livy.
    Argumenty wiersza polecenia W razie potrzeby można wprowadzić argumenty rozdzielone spacją dla klasy głównej.
    Przywoływania plików Jar i plików, do których odwołuje się odwołanie Jeśli istnieją, możesz wprowadzić ścieżki dla przywołynych plików Jars i plików. Możesz również przeglądać pliki w wirtualnym systemie plików platformy Azure, który obecnie obsługuje tylko klaster usługi ADLS Gen2. Aby uzyskać więcej informacji: Konfiguracja platformy Apache Spark i Jak przekazać zasoby do klastra.
    Przekazywanie magazynu zadań Rozwiń, aby wyświetlić dodatkowe opcje.
    Typ magazynu Wybierz pozycję Użyj usługi Azure Blob, aby przekazać lub użyć domyślnego konta magazynu klastra do przekazania z listy rozwijanej.
    Konto magazynu Wprowadź konto magazynu.
    Klucz magazynu Wprowadź klucz magazynu.
    Kontener magazynu Wybierz kontener magazynu z listy rozwijanej po wprowadzeniu konta magazynu i klucza magazynu.

    Okno dialogowe Przesyłanie platformy Spark 1

  4. Wybierz ikonę SparkJobRun , aby przesłać projekt do wybranej puli Spark. Na karcie Zdalne zadanie spark w klastrze jest wyświetlany postęp wykonywania zadania u dołu. Aplikację można zatrzymać, wybierając czerwony przycisk.

    Okno Przesyłanie platformy Apache Spark

    Okno dialogowe Przesyłanie platformy Spark 2

Lokalne uruchamianie/debugowanie aplikacji platformy Apache Spark

Aby skonfigurować lokalne uruchamianie i lokalne debugowanie dla zadania platformy Apache Spark, możesz wykonać poniższe instrukcje.

Scenariusz 1. Wykonywanie uruchamiania lokalnego

  1. Otwórz okno dialogowe Run/Debug Configurations (Uruchamianie/debugowanie konfiguracji), wybierz znak plus (+). Następnie wybierz opcję Apache Spark w usłudze Synapse . Wprowadź informacje w polach Nazwa, Główna nazwa klasy do zapisania.

    Uruchamianie konfiguracji debugowania środowiska Intellij w środowisku lokalnym uruchom 1

    • Zmienne środowiskowe i lokalizacja WinUtils.exe są przeznaczone tylko dla użytkowników systemu Windows.
    • Zmienne środowiskowe: zmienna środowiskowa systemu może zostać automatycznie wykryta, jeśli została ona ustawiona wcześniej i nie ma potrzeby ręcznego dodawania.
    • WinUtils.exe Lokalizacja: możesz określić lokalizację WinUtils, wybierając ikonę folderu po prawej stronie.
  2. Następnie wybierz przycisk odtwarzania lokalnego.

    Uruchamianie konfiguracji debugowania środowiska Intellij w środowisku lokalnym uruchom 2

  3. Po zakończeniu uruchamiania lokalnego, jeśli skrypt zawiera dane wyjściowe, możesz sprawdzić plik wyjściowy z domyślnego ustawienia danych>.

    Wynik lokalnego uruchomienia projektu Intellij 1

Scenariusz 2. Wykonywanie lokalnego debugowania

  1. Otwórz skrypt LogQuery, ustaw punkty przerwania.

  2. Wybierz ikonę lokalnego debugowania , aby przeprowadzić debugowanie lokalne.

    Wynik lokalnego uruchomienia programu Intellij Project 2

Uzyskiwanie dostępu do obszaru roboczego usługi Synapse i zarządzanie nim

W narzędziu Azure Toolkit for IntelliJ można wykonywać różne operacje w usłudze Azure Explorer. Na pasku menu przejdź do pozycji Wyświetl>narzędzie Windows>Azure Explorer.

Uruchamianie obszaru roboczego

  1. W eksploratorze platformy Azure przejdź do platformy Apache Spark w usłudze Synapse, a następnie rozwiń ją.

    Widok główny narzędzia IntelliJ IDEA w usłudze Azure Explorer

  2. Kliknij prawym przyciskiem myszy obszar roboczy, a następnie wybierz pozycję Uruchom obszar roboczy, zostanie otwarta witryna internetowa.

    Szczegóły aplikacji widoku zadania platformy Spark 1

    Szczegóły aplikacji widoku zadania platformy Spark 2

Konsola platformy Spark

Możesz uruchomić konsolę lokalną platformy Spark (Scala) lub uruchomić konsolę interakcyjnej sesji usługi Spark Livy (Scala).

Konsola lokalna platformy Spark (Scala)

Upewnij się, że spełniono wymagania wstępne WINUTILS.EXE.

  1. Na pasku menu przejdź do pozycji Uruchom>konfiguracje edycji....

  2. W oknie Uruchamianie/debugowanie konfiguracji w okienku po lewej stronie przejdź do platformy Apache Spark w usłudze Synapse[Spark w usłudze> Synapse] myApp.

  3. W oknie głównym wybierz kartę Uruchamianie lokalne.

  4. Podaj następujące wartości, a następnie wybierz przycisk OK:

    Właściwości Wartość
    Zmienne środowiskowe Upewnij się, że wartość HADOOP_HOME jest poprawna.
    lokalizacja WINUTILS.exe Upewnij się, że ścieżka jest poprawna.

    Konfiguracja zestawu konsoli lokalnej

  5. W obszarze Project przejdź do głównej>aplikacji myApp>src>myApp.>

  6. Na pasku menu przejdź do pozycji Narzędzia>Konsola platformy Spark Uruchom konsolę>lokalną platformy Spark (Scala).

  7. Następnie mogą zostać wyświetlone dwa okna dialogowe z pytaniem, czy chcesz automatycznie naprawić zależności. Jeśli tak, wybierz pozycję Automatyczna poprawka.

    Okno dialogowe Auto fix1 środowiska IntelliJ IDEA Spark

    Okno dialogowe Auto fix środowiska IntelliJ IDEA Spark2

  8. Konsola powinna wyglądać podobnie do poniższej ilustracji. W oknie konsoli wpisz sc.appName, a następnie naciśnij Ctrl+Enter. Wynik zostanie wyświetlony. Konsolę lokalną można zatrzymać, wybierając czerwony przycisk.

    Wynik konsoli lokalnej środowiska IntelliJ IDEA

Konsola interakcyjnej sesji usługi Spark Livy (Scala)

Jest obsługiwana tylko w środowiskach IntelliJ 2018.2 i 2018.3.

  1. Na pasku menu przejdź do pozycji Uruchom>konfiguracje edycji....

  2. W oknie Uruchamianie/debugowanie konfiguracji w okienku po lewej stronie przejdź do platformy Apache Spark w usłudze synapse[Spark w usłudze> synapse] myApp.

  3. W oknie głównym wybierz kartę Zdalne uruchamianie w klastrze .

  4. Podaj następujące wartości, a następnie wybierz przycisk OK:

    Właściwości Wartość
    Nazwa klasy głównej Wybierz nazwę klasy Main.
    Pule zadań platformy Spark Wybierz pule platformy Spark, w których chcesz uruchomić aplikację.

    Konfiguracja zestawu konsoli interakcyjnej

  5. W obszarze Project przejdź do głównej>aplikacji myApp>src>myApp.>

  6. Na pasku menu przejdź do pozycji Narzędzia>konsola Spark Uruchom konsolę>interakcyjnej sesji platformy Spark Usługi Livy (Scala).

  7. Konsola powinna wyglądać podobnie do poniższej ilustracji. W oknie konsoli wpisz sc.appName, a następnie naciśnij Ctrl+Enter. Wynik zostanie wyświetlony. Konsolę lokalną można zatrzymać, wybierając czerwony przycisk.

    Wynik interaktywnej konsoli Środowiska IntelliJ IDEA

Wysyłanie zaznaczenia do konsoli platformy Spark

Możesz zobaczyć wynik skryptu, wysyłając kod do konsoli lokalnej lub konsoli sesji interakcyjnej usługi Livy (Scala). W tym celu możesz wyróżnić kod w pliku Scala, a następnie kliknąć prawym przyciskiem myszy pozycję Wyślij zaznaczenie do konsoli Spark. Wybrany kod zostanie wysłany do konsoli i zostanie wykonany. Wynik zostanie wyświetlony po kodzie w konsoli programu . Konsola sprawdzi istniejące błędy.

Wysyłanie zaznaczenia do konsoli platformy Spark

Następne kroki