Kurz: Vytvoření aplikace Apache Spark pomocí IntelliJ pomocí pracovního prostoru Synapse

V tomto kurzu se dozvíte, jak pomocí modulu plug-in Azure Toolkit for IntelliJ vyvíjet aplikace Apache Spark, které jsou napsané v jazyce Scala, a pak je odeslat do bezserverového fondu Apache Sparku přímo z integrovaného vývojového prostředí (IDE) IntelliJ. Modul plug-in můžete použít několika způsoby:

  • Vývoj a odeslání aplikace Scala Spark ve fondu Spark
  • Získejte přístup k prostředkům fondů Sparku.
  • Vyvíjejte a spouštějte aplikaci Scala Spark místně.

V tomto kurzu se naučíte:

  • Použití modulu plug-in Azure Toolkit for IntelliJ
  • Vývoj aplikací Apache Spark
  • Odeslání aplikace do fondů Sparku

Požadavky

  • IntelliJ IDEA Community Version.

  • Modul plug-in Azure Toolkit 3.27.0-2019.2 – Instalace z úložiště modulu plug-in IntelliJ

  • JDK (verze 1.8)

  • Modul plug-in Scala – Instalace z úložiště modulu plug-in IntelliJ

  • Následující předpoklad platí jenom pro uživatele Windows:

    Při spouštění místní aplikace Spark Scala na počítači s Windows se může zobrazit výjimka, jak je vysvětleno ve SPARK-2356. K výjimce dochází, protože WinUtils.exe chybí ve Windows. Pokud chcete tuto chybu vyřešit, stáhněte spustitelný soubor WinUtils do umístění, jako je C:\WinUtils\bin. Potom přidejte proměnnou prostředí HADOOP_HOME a nastavte hodnotu proměnné na C:\WinUtils.

Vytvoření aplikace Spark Scala pro fond Sparku

  1. Spusťte IntelliJ IDEA a výběrem možnosti Vytvořit nový projekt otevřete okno Nový projekt.

  2. V levém podokně vyberte Apache Spark/HDInsight .

  3. V hlavním okně vyberte Projekt Sparku s ukázkami (Scala ).

  4. V rozevíracím seznamu Nástroje sestavení vyberte jeden z následujících typů:

    • Podpora Průvodce vytvořením projektu Maven pro Scala
    • SBT pro správu závislostí a sestavování pro projekt Scala.

    IntelliJ IDEA New Project dialog box

  5. Vyberte Další.

  6. V okně Nový projekt zadejte následující informace:

    Vlastnost Popis
    Název projektu Zadejte název. Tento kurz používá oblast myApp.
    Umístění projektu Zadejte požadované umístění pro uložení projektu.
    Project SDK Při prvním použití funkce IDEA může být prázdné. Vyberte Nový... a přejděte na sadu JDK.
    Verze Sparku Průvodce vytvořením integruje správnou verzi sady Spark SDK a Scala SDK. Tady můžete zvolit požadovanou verzi Sparku.

    Selecting the Apache Spark SDK

  7. Vyberte Dokončit. Než bude projekt dostupný, může to trvat několik minut.

  8. Projekt Spark automaticky vytvoří artefakt za vás. Pokud chcete zobrazit artefakt, postupujte takto:

    a. V řádku nabídek přejděte do struktury projektu souborů>....

    b. V okně Struktura projektu vyberte Artefakty.

    c. Po zobrazení artefaktu vyberte Zrušit .

    Artifact info in the dialog box

  9. Vyhledejte LogQuery z hlavní>scaly myApp>src>main>scala>LogQuery. V tomto kurzu se ke spuštění používá LogQuery .

    Commands for creating a Scala class from Project

Připojení do fondů Sparku

Přihlaste se k předplatnému Azure a připojte se k fondům Sparku.

Přihlaste se ke svému předplatnému Azure.

  1. V řádku nabídek přejděte do Průzkumníka Windows>Azure Nástroje pro zobrazení.>

    IntelliJ IDEA shows Azure Explorer

  2. V Azure Exploreru klikněte pravým tlačítkem na uzel Azure a pak vyberte Přihlásit se.

    IntelliJ IDEA explorer right-click Azure

  3. V dialogovém okně Azure Sign In (Přihlášení k Azure) zvolte Device Login (Přihlášení zařízení) a pak vyberte Sign in (Přihlásit se).

    IntelliJ IDEA Azure sign-in

  4. V dialogovém okně Azure Device Login (Přihlášení zařízení Azure) vyberte Copy&Open (Kopírovat&Otevřít).

    IntelliJ IDEA Azure device login

  5. V rozhraní prohlížeče vložte kód a pak vyberte Další.

    Microsoft enters code dialog for HDI

  6. Zadejte své přihlašovací údaje Azure a zavřete prohlížeč.

    Microsoft enters e-mail dialog for HDI

  7. Po přihlášení se v dialogovém okně Vybrat předplatná zobrazí seznam všech předplatných Azure přidružených k přihlašovacím údajům. Vyberte své předplatné a pak vyberte Vybrat.

    The Select Subscriptions dialog box

  8. V Azure Exploreru rozbalte Apache Spark ve službě Synapse a zobrazte pracovní prostory, které jsou ve vašich předplatných.

    IntelliJ IDEA Azure Explorer main view

  9. Pokud chcete zobrazit fondy Sparku, můžete dále rozbalit pracovní prostor.

    Azure Explorer storage accounts

Vzdálené spuštění aplikace Spark Scala ve fondu Sparku

Po vytvoření aplikace Scala ji můžete vzdáleně spustit.

  1. Výběrem ikony otevřete okno Spustit/Ladit konfigurace .

    The Submit Spark Application to HDInsight command 1

  2. V dialogovém okně Spustit/Ladit konfigurace vyberte +a pak ve službě Synapse vyberte Apache Spark.

    The Submit Spark Application to HDInsight command 2

  3. V okně Konfigurace spuštění/ladění zadejte následující hodnoty a pak vyberte OK:

    Vlastnost Hodnota
    Fondy úloh Sparku Vyberte fondy Sparku, na kterých chcete aplikaci spustit.
    Výběr artefaktu k odeslání Ponechte výchozí nastavení.
    Název hlavní třídy Výchozí hodnota je hlavní třída z vybraného souboru. Třídu můžete změnit tak, že vyberete tři tečky(...) a zvolíte jinou třídu.
    Konfigurace úloh Výchozí klíč a hodnoty můžete změnit. Další informace najdete v tématu Apache Livy REST API.
    Argumenty příkazového řádku V případě potřeby můžete zadat argumenty oddělené mezerou pro hlavní třídu.
    Odkazované soubory Jar a odkazované soubory Pokud existuje, můžete zadat cesty pro odkazované soubory Jar a soubory. Můžete také procházet soubory ve virtuálním systému souborů Azure, který aktuálně podporuje pouze cluster ADLS Gen2. Další informace: Konfigurace Apache Sparku a postup nahrání prostředků do clusteru.
    Úložiště pro nahrání úlohy Rozbalením zobrazíte další možnosti.
    Typ úložiště Vyberte Použít objekt blob Azure k nahrání nebo použití výchozího účtu úložiště clusteru k nahrání z rozevíracího seznamu.
    Účet úložiště Zadejte svůj účet úložiště.
    Klíč úložiště Zadejte svůj klíč úložiště.
    Kontejner úložiště Po zadání účtu úložiště a klíče úložiště vyberte kontejner úložiště z rozevíracího seznamu.

    The Spark Submission dialog box 1

  4. Výběrem ikony SparkJobRun odešlete projekt do vybraného fondu Sparku. Vzdálená úloha Sparku na kartě Cluster zobrazuje průběh provádění úlohy v dolní části. Aplikaci můžete zastavit výběrem červeného tlačítka.

    Apache Spark Submission window

    The Spark Submission dialog box 2

Místní spuštění/ladění aplikací Apache Spark

Podle následujících pokynů můžete nastavit místní spuštění a místní ladění pro úlohu Apache Spark.

Scénář 1: Místní spuštění

  1. Otevřete dialogové okno Konfigurace spuštění/ladění a vyberte znaménko plus (+). Pak vyberte možnost Apache Spark v Synapse . Zadejte informace pro název, název hlavní třídy, který chcete uložit.

    Intellij Run debug configurations local run 1

    • Proměnné prostředí a Umístění WinUtils.exe jsou pouze pro uživatele windows.
    • Proměnné prostředí: Systémová proměnná prostředí se dá automaticky rozpoznat, pokud jste ji nastavili dříve a nemusíte ji přidávat ručně.
    • WinUtils.exe Umístění: Umístění WinUtils můžete určit výběrem ikony složky vpravo.
  2. Pak vyberte tlačítko místního přehrávání.

    Intellij Run debug configurations local run 2

  3. Po dokončení místního spuštění, pokud skript obsahuje výstup, můžete zkontrolovat výstupní soubor z výchozích dat>.

    Intellij Project local run result 1

Scénář 2: Místní ladění

  1. Otevřete skript LogQuery a nastavte zarážky.

  2. Pokud chcete provést místní ladění, vyberte ikonu místního ladění .

    Intellij Project local run result 2

Přístup k pracovnímu prostoru Synapse a jeho správa

V Azure Exploreru můžete provádět různé operace v sadě Azure Toolkit for IntelliJ. V řádku nabídek přejděte do Průzkumníka Windows>Azure Nástroje pro zobrazení.>

Spuštění pracovního prostoru

  1. V Azure Exploreru přejděte na Apache Spark ve službě Synapse a rozbalte ho.

    IntelliJ IDEA Azure Explorer main view

  2. Klikněte pravým tlačítkem na pracovní prostor a pak vyberte Spustit pracovní prostor, otevře se web.

    Spark Job View Application details 1

    Spark Job View Application details 2

Konzola Sparku

Můžete spustit místní konzolu Sparku (Scala) nebo spustit konzolu interaktivní relace Spark Livy (Scala).

Místní konzola Sparku (Scala)

Ujistěte se, že jste splnili požadavky WINUTILS.EXE.

  1. Na řádku nabídek přejděte na Příkaz Spustit>konfiguraci úprav....

  2. V okně Konfigurace spuštění/ladění přejděte v levém podokně na Apache Spark ve službě Synapse>[Spark ve službě Synapse] myApp.

  3. V hlavním okně vyberte kartu Místně spustit .

  4. Zadejte následující hodnoty a pak vyberte OK:

    Vlastnost Hodnota
    Proměnné prostředí Ujistěte se, že je správná hodnota pro HADOOP_HOME.
    Umístění WINUTILS.exe Ujistěte se, že je cesta správná.

    Local Console Set Configuration

  5. V Projectu přejděte na hlavní>scalu>myApp> src.>

  6. Na řádku nabídek přejděte do konzoly>Tools>Spark Run Spark Local Console(Scala).

  7. Pak se můžou zobrazit dvě dialogová okna s dotazem, jestli chcete automaticky opravit závislosti. Pokud ano, vyberte Automatická oprava.

    IntelliJ IDEA Spark Auto Fix dialog1

    IntelliJ IDEA Spark Auto Fix dialog2

  8. Konzola by měla vypadat podobně jako na následujícím obrázku. V okně konzoly zadejte sc.appNamea stiskněte ctrl+Enter. Zobrazí se výsledek. Místní konzolu můžete zastavit výběrem červeného tlačítka.

    IntelliJ IDEA local console result

Konzola interaktivní relace Spark Livy (Scala)

Podporuje se jenom v IntelliJ 2018.2 a 2018.3.

  1. Na řádku nabídek přejděte na Příkaz Spustit>konfiguraci úprav....

  2. V okně Konfigurace spuštění/ladění v levém podokně přejděte do Apache Sparku v synapse>[Spark v synapse] myApp.

  3. V hlavním okně vyberte kartu Vzdálené spuštění v clusteru .

  4. Zadejte následující hodnoty a pak vyberte OK:

    Vlastnost Hodnota
    Název hlavní třídy Vyberte název hlavní třídy.
    Fondy úloh Sparku Vyberte fondy Sparku, na kterých chcete aplikaci spustit.

    Interactive Console Set Configuration

  5. V Projectu přejděte na hlavní>scalu>myApp> src.>

  6. Na řádku nabídek přejděte do konzoly Sparku>pro spuštění konzoly>Spark Livy Interactive Session Console(Scala).

  7. Konzola by měla vypadat podobně jako na následujícím obrázku. V okně konzoly zadejte sc.appNamea stiskněte ctrl+Enter. Zobrazí se výsledek. Místní konzolu můžete zastavit výběrem červeného tlačítka.

    IntelliJ IDEA Interactive Console Result

Odeslání výběru do konzoly Sparku

Výsledek skriptu můžete zobrazit odesláním kódu do místní konzoly nebo konzoly Livy Interactive Session Console(Scala). Uděláte to tak, že v souboru Scala zvýrazníte nějaký kód a pak kliknete pravým tlačítkem myši na konzolu Odeslat výběr do Sparku. Vybraný kód se odešle do konzoly a provede se. Výsledek se zobrazí za kódem v konzole. Konzola zkontroluje existující chyby.

Send Selection to Spark console

Další kroky