Share via


Zelfstudie: Een Apache Spark-toepassing maken met IntelliJ met behulp van een Synapse-werkruimte

In deze zelfstudie ziet u hoe u de invoegtoepassing Azure-toolkit voor IntelliJ gebruikt om Apache Spark-toepassingen, die in Scala worden geschreven, te ontwikkelen en naar een serverloze Apache Spark-pool te verzenden, rechtstreeks vanuit de IntelliJ-IDE (Integrated Development Environment). U kunt de invoegtoepassing op een paar manieren gebruiken:

  • Ontwikkel een Scala Spark-toepassing en verzend deze naar een Spark-pool.
  • Verkrijg toegang tot de resources van uw Spark-pools.
  • Ontwikkel een Scala Spark-toepassing en voer deze lokaal uit.

In deze zelfstudie leert u het volgende:

  • Gebruik de Azure Toolkit voor IntelliJ-invoegtoepassing
  • Apache Spark-toepassingen ontwikkelen
  • Toepassingen naar Spark-pools verzenden

Prerequisites

Een Spark Scala-toepassing maken voor een Spark-pool

  1. Start IntelliJ IDEA en selecteer Create New Project om het venster New Project te openen.

  2. Selecteer Apache Spark/HDInsight in het linkerdeelvenster.

  3. Selecteer Spark Project met voorbeelden (Scala) in het hoofdvenster.

  4. From the Build tool drop-down list, select one of the following types:

    • Maven for Scala project-creation wizard support.
    • SBT for managing the dependencies and building for the Scala project.

    IntelliJ IDEA Nieuw project-dialoogvenster

  5. Select Next.

  6. Geef in het venster New project de volgende gegevens op:

    Property Beschrijving
    Projectnaam Voer een naam in. This tutorial uses myApp.
    Project location Voer de gewenste locatie in om uw project in op te slaan.
    Project SDK Als u IDEA voor het eerst gebruikt, is dit veld wellicht leeg. Selecteer New... en ga naar uw JDK.
    Spark-versie De wizard voor het maken van het project integreert de juiste versie voor Spark SDK en Scala SDK. Hier kunt u de Spark-versie kiezen die u nodig hebt.

    De Apache Spark SDK selecteren

  7. Select Finish. Het kan enkele minuten duren voordat het project beschikbaar wordt.

  8. Het Spark-project maakt automatisch een artefact voor u. Doe het volgende om het artefact te bekijken:

    a. Navigeer in de menubalk naar Bestand>Projectstructuur....

    b. Selecteer in het venster Projectstructuur de optie Artefacten.

    c. Selecteer Annuleren nadat u het artefact hebt bekeken.

    Artefactgegevens in het dialoogvenster

  9. Zoek LogQuery in myApp>src>main>scala>sample>LogQuery. This tutorial uses LogQuery to run.

    Opdrachten voor het maken van een Scala-klasse uit Project

Verbinding maken met uw Spark-pools

Meld u aan bij uw Azure-abonnement om verbinding te maken met uw Spark-pools.

Aanmelden bij uw Azure-abonnement

  1. From the menu bar, navigate to View>Tool Windows>Azure Explorer.

    IntelliJ IDEA shows Azure Explorer

  2. Klik in Azure Explorer met de rechtermuisknop op het knooppunt Azure en selecteer Aanmelden.

    Met rechtermuisknop op Azure klikken in IntelliJ IDEA-verkenner

  3. Kies in het dialoogvenster Azure-aanmelding de optie Apparaataanmelding en selecteer Aanmelden.

    Azure-aanmelding in IntelliJ IDEA

  4. Selecteer in het dialoogvenster Azure-apparaataanmelding de optie Kopiëren en openen.

    Azure-apparaataanmelding in IntelliJ IDEA

  5. Plak de code in de browserinterface en selecteer Volgende.

    Microsoft betreedt codedialoogvenster voor HDI

  6. Voer uw referenties voor Azure in en sluit de browser.

    Microsoft betreedt e-maildialoogvenster voor HDI

  7. Zodra u bent aangemeld, toont het dialoogvenster Abonnementen selecteren alle Azure-abonnementen die aan de referenties zijn gekoppeld. Selecteer uw abonnement en selecteer Selecteren.

    Het dialoogvenster Abonnementen selecteren

  8. Vouw in Azure Explorer de optie Apache Spark in Synapse uit om de werkruimten te bekijken die in uw abonnementen staan.

    Azure Explorer-hoofdweergave in IntelliJ IDEA

  9. Als u de Spark-pools wilt bekijken, kunt u een werkruimte verder uitvouwen.

    Azure Explorer storage accounts

Een Spark Scala-toepassing extern uitvoeren in een Spark-pool

Nadat u een Scala-toepassing hebt gemaakt, kunt u deze extern uitvoeren.

  1. Open het venster Uitvoeren/fouten opsporen van configuraties door het pictogram te selecteren.

    De opdracht om Spark-applicatie naar HDInsight te verzenden 1

  2. Selecteer in het dialoogvenster Uitvoeren/fouten opsporen van configuraties de optie + en selecteer Apache Spark in Synapse.

    The Submit Spark Application to HDInsight command 2

  3. Geef in het venster Uitvoeren/fouten opsporen van configuraties de volgende waarden op en selecteer OK:

    Property Waarde
    Spark pools Selecteer de Spark-pools waarop u uw toepassing wilt uitvoeren.
    Selecteer een artefact om te verzenden Laat de standaardinstelling staan.
    Hoofdklassenaam De standaardwaarde is de hoofdklasse uit het geselecteerde bestand. U kunt de klasse wijzigen door het beletselteken (...) te selecteren en een andere klasse te kiezen.
    Taakconfiguraties U kunt de standaardsleutel en -waarden wijzigen. Zie Apache Livy REST API voor meer informatie.
    Command-line arguments U kunt voor de hoofdklasse argumenten invoeren, gescheiden door een spatie, indien nodig.
    Referenced Jars and Referenced Files You can enter the paths for the referenced Jars and files if any. U kunt ook bladeren door bestanden in het virtuele Azure-bestandssysteem, dat momenteel alleen ADLS Gen2-cluster ondersteunt. Voor meer informatie: Apache Spark-configuratie en het uploaden van resources naar cluster.
    Job Upload Storage Vouw uit om aanvullende opties te onthullen.
    Opslagtype Selecteer Azure Blob gebruiken voor uploaden of Standaardopslagaccount van cluster gebruiken voor uploaden in de vervolgkeuzelijst.
    Opslagaccount Voer uw opslagaccount in.
    Storage Key Voer uw opslagsleutel in.
    Opslagcontainer Selecteer uw opslagcontainer in de vervolgkeuzelijst zodra Opslagaccount en Opslagsleutel zijn ingevoerd.

    Het dialoogvenster voor de verzending van Spark 1

  4. Selecteer het pictogram SparkJobRun om uw project te verzenden naar de geselecteerde Spark-pool. Onderaan het tabblad Externe Spark-taak in cluster wordt de voortgang van de taakuitvoering weergegeven. U kunt de toepassing stoppen door de rode knop te selecteren.

    Venster voor verzending van Apache Spark

    Het dialoogvenster voor de verzending van Spark 2

Lokaal uitvoeren/fouten opsporen van Apache Spark-toepassingen

U kunt de onderstaande instructies volgen om uw lokale uitvoering en lokale foutopsporing voor uw Apache Spark-taak in te stellen.

Scenario 1: Lokale uitvoering uitvoeren

  1. Open het dialoogvenster Uitvoeren/fouten opsporen van configuraties en selecteer het plusteken (+). Selecteer vervolgens de optie Apache Spark in Synapse. Voer informatie in voor Naam, Hoofdklassenaam om op te slaan.

    IntelliJ Run debug configurations local run 1

    • Omgevingsvariabelen en WinUtils.exe-locatie zijn alleen voor Windows-gebruikers.
    • Omgevingsvariabelen: de omgevingsvariabele van het systeem kan automatisch worden gedetecteerd als u deze eerder hebt ingesteld en u hoeft deze niet handmatig toe te voegen.
    • WinUtils.exe Locatie: U kunt de WinUtils-locatie opgeven door het mappictogram aan de rechterkant te selecteren.
  2. Selecteer vervolgens de knop Lokaal afspelen.

    IntelliJ Run debug configurations local run 2

  3. Zodra de lokale uitvoering is voltooid, kunt u (als het script uitvoer bevat) het uitvoerbestand controleren via gegevens>standaard.

    IntelliJ Project local run result 1

Scenario 2: Lokale foutopsporing uitvoeren

  1. Open het LogQuery-script en stel onderbrekingspunten in.

  2. Selecteer het pictogram Lokale foutopsporing om lokaal fouten op te sporen.

    IntelliJ Project local run result 2

Synapse-werkruimte openen en beheren

U kunt verschillende bewerkingen in Azure Explorer uitvoeren in Azure-toolkit voor IntelliJ. From the menu bar, navigate to View>Tool Windows>Azure Explorer.

Werkruimte starten

  1. Navigeer in Azure Explorer naar Apache Spark in Synapse en vouw het uit.

    Azure Explorer-hoofdweergave in IntelliJ IDEA

  2. Klik met de rechtermuisknop op een werkruimte en selecteer Werkruimte starten, waarna een website wordt geopend.

    Spark Job View Application details 1

    Spark Job View Application details 2

Spark console

U kunt de lokale Spark-console (Scala) uitvoeren of de interactieve Spark Livy-sessieconsole (Scala) uitvoeren.

Spark local console (Scala)

Verzeker dat u aan de WINUTILS.EXE-vereiste voldoet.

  1. Navigeer in de menubalk naar Uitvoeren>Configuraties bewerken....

  2. Navigeer in het linkerdeelvenster van het venster Uitvoeren/fouten opsporen van configuraties naar Apache Spark in Synapse>[Spark in Synapse] myApp.

  3. Selecteer in het hoofdvenster het tabblad Lokaal uitvoeren.

  4. Geef de volgende waarden op en selecteer OK:

    Property Waarde
    Omgevingsvariabelen Verzeker dat de waarde voor HADOOP_HOME correct is.
    WINUTILS.exe-locatie Verzeker dat het pad correct is.

    Local Console Set Configuration

  5. From Project, navigate to myApp>src>main>scala>myApp.

  6. Navigeer in de menubalk naar Hulpprogramma’s>Spark-console>Lokale Spark-console (Scala) uitvoeren.

  7. Er kunnen dan twee dialoogvensters worden weergegeven waarin u wordt gevraagd of u afhankelijkheden automatisch wilt oplossen. Als u dat wilt doen, selecteert u Automatisch oplossen.

    IntelliJ IDEA Spark Auto Fix dialog1

    IntelliJ IDEA Spark Auto Fix dialog2

  8. De console moet er ongeveer uitzien zoals in de onderstaande afbeelding. Typ sc.appName in het consolevenster en druk op Ctrl+Enter. Het resultaat wordt weergegeven. U kunt de lokale console stoppen door de rode knop te selecteren.

    IntelliJ IDEA local console result

Spark Livy interactive session console (Scala)

Deze wordt alleen ondersteund in IntelliJ 2018.2 en 2018.3.

  1. Navigeer in de menubalk naar Uitvoeren>Configuraties bewerken....

  2. Navigeer in het linkerdeelvenster van het venster Uitvoeren/fouten opsporen van configuraties naar Apache Spark in Synapse>[Spark in Synapse] myApp.

  3. From the main window, select the Remotely Run in Cluster tab.

  4. Geef de volgende waarden op en selecteer OK:

    Property Waarde
    Hoofdklassenaam Selecteer de hoofdklassenaam.
    Spark pools Selecteer de Spark-pools waarop u uw toepassing wilt uitvoeren.

    Interactive Console Set Configuration

  5. From Project, navigate to myApp>src>main>scala>myApp.

  6. Navigeer in de menubalk naar Hulpprogramma’s>Spark-console>Interactieve Spark Livy-sessieconsole (Scala) uitvoeren.

  7. De console moet er ongeveer uitzien zoals in de onderstaande afbeelding. Typ sc.appName in het consolevenster en druk op Ctrl+Enter. Het resultaat wordt weergegeven. U kunt de lokale console stoppen door de rode knop te selecteren.

    IntelliJ IDEA Interactive Console Result

Selectie verzenden naar Spark-console

U wilt misschien het scriptresultaat bekijken door wat code naar de lokale console of de interactieve Livy-sessieconsole (Scala) te verzenden. Daarvoor kunt u wat code in het Scala-bestand markeren en vervolgens met de rechtermuisknop op Selectie verzenden naar Spark-console klikken. De geselecteerde code wordt dan naar de console verzonden en uitgevoerd. Het resultaat wordt achter de code weergegeven in de console. De console controleert de aanwezige fouten.

Selectie verzenden naar Spark-console

Volgende stappen