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í pluginu 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 si spustitelný soubor WinUtils do umístění, například 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ástrojů 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 návod používá 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 vyhledejte nebo vyberte složku s vaší 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 na Soubor>Struktura projektu....

    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 myApp>src>main>scala>sample>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 panelu nabídek přejděte na Zobrazení>Nástroje pro okna>Průzkumník Azure.

    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.

    V Průzkumníku 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 vstupuje do e-mailového dialogu 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 si přejete zobrazit fondy Sparku, můžete pracovní prostor dále rozšířit.

    Úč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 (vodoznak) (...) 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 nějaké jsou, můžete zadat cesty pro odkazované soubory JAR. 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í úloh Rozbalením zobrazíte další možnosti.
    Typ úložiště Vyberte Použít objekt blob Azure k nahrání nebo Použít výchozí účet ú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ě.
    Úložný kontejner 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. Karta Vzdálená úloha Sparku v clustru zobrazuje průběh spuštění úlohy dole. 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

Můžete postupovat podle následujících pokynů pro nastavení místního spuštění a ladění úlohy 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 Jméno a Hlavní název třídy, aby bylo možné je 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 ze data>default.

    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 panelu nabídek přejděte na Zobrazení>Nástroje pro okna>Průzkumník Azure.

Otevřít pracovní prostor

  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í úlohy Spark – Podrobnosti aplikace 1

    Zobrazení podrobností úlohy Spark 2

Konzole Spark

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 Spustit>Upravit konfigurace....

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

  3. V hlavním okně vyberte záložku 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á.

    Konfigurace místní sady konzoly

  5. V Projectu přejděte na myApp>src>main>scala>myApp.

  6. Ve výběru menu přejděte do Nástroje>konzola Spark>Spustit místní konzolu Spark (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 dialogové okno1

    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 Spustit>Upravit konfigurace....

  2. V okně Konfigurace spuštění/ladění v levém podokně přejděte do Apache Spark na synapse>[Spark na 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.
    Datové fondy Sparku Vyberte fondy Sparku, na kterých chcete aplikaci spustit.

    Konfigurace sady interaktivní konzoly

  5. V Projectu přejděte na myApp>src>main>scala>myApp.

  6. Na panelu nabídek přejděte na Nástrojekonzola SparkuSpusťte interaktivní konzolu relace Spark Livy (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 bude odeslán do konzole a následně proveden. Výsledek se zobrazí za kódem v konzole. Konzola zkontroluje existující chyby.

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

Další kroky