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
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
Uruchom środowisko IntelliJ IDEA i wybierz pozycję Create New Project (Utwórz nowy projekt), aby otworzyć okno New Project (Nowy projekt).
Wybierz pozycję Apache Spark/HDInsight w okienku po lewej stronie.
Wybierz pozycję Projekt Spark z przykładami (Scala) w oknie głównym.
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.
Wybierz Dalej.
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. Wybierz Zakończ. Udostępnienie projektu może potrwać kilka minut.
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 .
Znajdź pozycję LogQuery z pliku myApp>src>main>scala>sample>LogQuery. W tym samouczku do uruchomienia jest używana funkcja LogQuery .
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.
Na pasku menu przejdź do pozycji Wyświetl>narzędzie Windows>Azure Explorer.
W eksploratorze platformy Azure kliknij prawym przyciskiem myszy węzeł platformy Azure, a następnie wybierz pozycję Zaloguj.
W oknie dialogowym Logowanie do platformy Azure wybierz pozycję Logowanie do urządzenia, a następnie wybierz pozycję Zaloguj.
W oknie dialogowym Logowanie do urządzenia platformy Azure wybierz pozycję Kopiuj i otwórz.
W interfejsie przeglądarki wklej kod, a następnie wybierz przycisk Dalej.
Wprowadź poświadczenia platformy Azure, a następnie zamknij przeglądarkę.
Po zalogowaniu okno dialogowe Wybieranie subskrypcji zawiera listę wszystkich subskrypcji platformy Azure skojarzonych z poświadczeniami. Wybierz subskrypcję, a następnie wybierz pozycję Wybierz.
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.
Aby wyświetlić pule platformy Spark, możesz dodatkowo rozwinąć obszar roboczy.
Zdalne uruchamianie aplikacji Spark Scala w puli spark
Po utworzeniu aplikacji Scala można ją zdalnie uruchomić.
Otwórz okno Run/Debug Configurations (Uruchamianie/debugowanie konfiguracji), wybierając ikonę.
W oknie dialogowym Uruchamianie/debugowanie konfiguracji wybierz pozycję , a następnie wybierz pozycję +Apache Spark w usłudze Synapse.
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. 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.
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
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.
- 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.
Następnie wybierz przycisk odtwarzania lokalnego.
Po zakończeniu uruchamiania lokalnego, jeśli skrypt zawiera dane wyjściowe, możesz sprawdzić plik wyjściowy z domyślnego ustawienia danych>.
Scenariusz 2. Wykonywanie lokalnego debugowania
Otwórz skrypt LogQuery, ustaw punkty przerwania.
Wybierz ikonę lokalnego debugowania , aby przeprowadzić debugowanie lokalne.
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
W eksploratorze platformy Azure przejdź do platformy Apache Spark w usłudze Synapse, a następnie rozwiń ją.
Kliknij prawym przyciskiem myszy obszar roboczy, a następnie wybierz pozycję Uruchom obszar roboczy, zostanie otwarta witryna internetowa.
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.
Na pasku menu przejdź do pozycji Uruchom>konfiguracje edycji....
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.
W oknie głównym wybierz kartę Uruchamianie lokalne.
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. W obszarze Project przejdź do głównej>aplikacji myApp>src>myApp.>
Na pasku menu przejdź do pozycji Narzędzia>Konsola platformy Spark Uruchom konsolę>lokalną platformy Spark (Scala).
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.
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.
Konsola interakcyjnej sesji usługi Spark Livy (Scala)
Jest obsługiwana tylko w środowiskach IntelliJ 2018.2 i 2018.3.
Na pasku menu przejdź do pozycji Uruchom>konfiguracje edycji....
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.
W oknie głównym wybierz kartę Zdalne uruchamianie w klastrze .
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ę. W obszarze Project przejdź do głównej>aplikacji myApp>src>myApp.>
Na pasku menu przejdź do pozycji Narzędzia>konsola Spark Uruchom konsolę>interakcyjnej sesji platformy Spark Usługi Livy (Scala).
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.
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.