Sdílet prostřednictvím


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 v systému Windows chybí WinUtils.exe. 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.

    Dialogové okno Nový projekt IntelliJ IDEA

  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.

    Výběr sady 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 .

    Informace o artefaktech v dialogovém okně

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

    Příkazy pro vytvoření třídy Scala z Projectu

Připojení k fondům 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 ukazuje Azure Explorer

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

    Průzkumník IntelliJ IDEA klikněte pravým tlačítkem na 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).

    Přihlášení k Azure IntelliJ IDEA

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

    Přihlášení zařízení Azure IntelliJ IDEA

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

    Microsoft zadá dialogové okno s kódem pro HDI.

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

    Microsoft zadá dialogové okno e-mailu pro 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.

    Dialogové okno Select Subscriptions (Výběr předplatných)

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

    Hlavní zobrazení IntelliJ IDEA Azure Exploreru

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

    Účty úložiště Azure Exploreru

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 .

    Příkaz Odeslat aplikaci Spark do HDInsightu 1

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

    Příkaz 2 pro odeslání aplikace Spark do HDInsightu

  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.

    Dialogové okno Odeslání Sparku 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.

    Okno Odeslání Apache Sparku

    Dialogové okno Odeslání Sparku 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.

    Spuštění konfigurace ladění Intellij v místním prostředí 1

    • Proměnné prostředí a umístění WinUtils.exe jsou určené jenom 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 tak, že vpravo vyberete ikonu složky.
  2. Pak vyberte tlačítko místního přehrávání.

    Spuštění konfigurace ladění Intellij v místním prostředí 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>.

    Výsledek místního spuštění projektu Intellij 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í .

    Výsledek místního spuštění projektu Intellij 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.

    Hlavní zobrazení IntelliJ IDEA Azure Exploreru

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

    Zobrazení podrobností o aplikaci Sparku 1

    Zobrazení podrobností aplikace Sparku 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 na 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.
    WINUTILS.exe umístění Ujistěte se, že je cesta správná.

    Konfigurace místní sady konzoly

  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.

    Výsledek místní konzoly IntelliJ IDEA

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.

    Konfigurace sady interaktivní konzoly

  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.

    Výsledek interaktivní konzoly IntelliJ IDEA

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.

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

Další kroky