Condividi tramite


Esercitazione: creare una definizione di processo Apache Spark in Synapse Studio

Questa esercitazione illustra come usare Synapse Studio per creare definizioni di processi Apache Spark e quindi inviarle a un pool di Apache Spark serverless.

Questa esercitazione illustra le attività seguenti:

  • Creare una definizione di processo Apache Spark per PySpark (Python)
  • Creare una definizione di processo Apache Spark per Spark (Scala)
  • Creare una definizione di processo Apache Spark per .NET Spark(C#/F#)
  • Creare una definizione di processo importando un file JSON
  • Esportare un file di definizione di processo Apache Spark a un percorso locale
  • Inviare una definizione di processo Apache Spark come processo batch
  • Aggiungere una definizione di processo Apache Spark a una pipeline

Prerequisiti

Prima di iniziare l'esercitazione, verificare che siano soddisfatti i requisiti seguenti:

  • Un'area di lavoro di Azure Synapse Analytics. Per le istruzioni, vedere Creare un'area di lavoro di Azure Synapse Analytics.
  • Un pool di Apache Spark serverless.
  • Account di archiviazione Azure Data Lake Storage Gen2. È necessario essere il Collaboratore dei dati del BLOB di archiviazione del file system di ADLS Gen2 che si desidera usare. Se non lo si è, è necessario aggiungere l'autorizzazione manualmente.
  • Se non si vuole usare l'account di archiviazione predefinito dell'area di lavoro, collegare l'account di archiviazione di ADLS Gen2 richiesto in Synapse Studio.

Creare una definizione di processo Apache Spark per PySpark (Python)

In questa sezione viene creata una definizione di processo Apache Spark per PySpark (Python).

  1. Aprire Synapse Studio.

  2. È possibile passare ai file di esempio per la creazione di definizioni di processo Apache Spark per scaricare i file di esempio per python.zip, quindi decomprimere il pacchetto compresso ed estrarre i file wordcount.py e shakespeare.txt.

    File di esempio

  3. Selezionare Dati ->Collegati ->Azure Data Lake Storage Gen2, quindi caricare wordcount.py e shakespeare.txt nel file system di ADLS Gen2.

    caricare il file Python

  4. Selezionare l'hub Sviluppo, fare clic sull'icona '+' e selezionare Definizione di processo Spark per creare una nuova definizione di processo Spark.

    Creazione di una nuova definizione per Python

  5. Selezionare PySpark (Python) nell'elenco a discesa del linguaggio nella finestra principale della definizione di processo Apache Spark.

    Selezionare python

  6. Immettere le informazioni per la definizione di processo Apache Spark.

    Proprietà Descrizione
    Nome definizione processo Specificare un nome per la definizione di processo Apache Spark. Questo nome può essere aggiornato in qualsiasi momento fino a quando non viene pubblicato.
    Esempio: job definition sample
    File di definizione principale File principale usato per il processo. Selezionare un file PY dalla risorsa di archiviazione. È possibile selezionare Carica file per caricare il file in un account di archiviazione.
    Esempio: abfss://…/path/to/wordcount.py
    Argomenti della riga di comando Argomenti facoltativi per il processo.
    Campione: abfss://…/path/to/shakespeare.txt abfss://…/path/to/result
    Nota: due argomenti per la stessa definizione di processo di esempio sono separati da uno spazio.
    File di riferimento File aggiuntivi usati come riferimento nel file di definizione principale. È possibile selezionare Carica file per caricare il file in un account di archiviazione.
    Pool Spark Il processo verrà inviato al pool di Apache Spark selezionato.
    Versione di Spark Versione di Apache Spark in esecuzione nel pool di Apache Spark.
    Executors Numero di executor da assegnare al pool di Apache Spark specificato per il processo.
    Dimensioni executor Numero di core e memoria da usare per gli executor indicati nel pool di Apache Spark specificato per il processo.
    Dimensioni driver Numero di core e memoria da usare per il driver indicato nel pool di Apache Spark specificato per il processo.
    Configurazione di Apache Spark Personalizzare le configurazioni aggiungendo le proprietà seguenti. Se non si aggiunge una proprietà, Azure Synapse userà il valore predefinito, se applicabile.

    Impostare il valore della definizione di processo Spark per Python

  7. Selezionare Pubblica per salvare la definizione di processo Apache Spark.

    Pubblicazione della definizione per Python

Creare una definizione di processo Apache Spark per Apache Spark (Scala)

In questa sezione viene creata una definizione di processo Apache Spark per Apache Spark (Scala).

  1. Aprire Azure Synapse Studio.

  2. È possibile passare ai file di esempio per la creazione di definizioni di processo Apache Spark per scaricare i file di esempio per scala.zip, quindi decomprimere il pacchetto compresso ed estrarre i file wordcount.jar e shakespeare.txt.

    File di esempio Scala

  3. Selezionare Dati ->Collegati ->Azure Data Lake Storage Gen2, quindi caricare wordcount.jar e shakespeare.txt nel file system di ADLS Gen2.

    Preparazione della struttura di Scala

  4. Selezionare l'hub Sviluppo, fare clic sull'icona '+' e selezionare Definizione di processo Spark per creare una nuova definizione di processo Spark. L'immagine di esempio è identica a quella del passaggio 4 di Creare una definizione di processo Apache Spark (Python) per PySpark.

  5. Selezionare Spark (Scala) nell'elenco a discesa del linguaggio nella finestra principale della definizione di processo Apache Spark.

    Selezionare Scala

  6. Immettere le informazioni per la definizione di processo Apache Spark. È possibile copiare le informazioni di esempio.

    Proprietà Descrizione
    Nome definizione processo Specificare un nome per la definizione di processo Apache Spark. Questo nome può essere aggiornato in qualsiasi momento fino a quando non viene pubblicato.
    Esempio: scala
    File di definizione principale File principale usato per il processo. Selezionare un file JAR dalla risorsa di archiviazione. È possibile selezionare Carica file per caricare il file in un account di archiviazione.
    Esempio: abfss://…/path/to/wordcount.jar
    Nome della classe principale Identificatore completo o classe principale inclusa nel file di definizione principale.
    Esempio: WordCount
    Argomenti della riga di comando Argomenti facoltativi per il processo.
    Campione: abfss://…/path/to/shakespeare.txt abfss://…/path/to/result
    Nota: due argomenti per la stessa definizione di processo di esempio sono separati da uno spazio.
    File di riferimento File aggiuntivi usati come riferimento nel file di definizione principale. È possibile selezionare Carica file per caricare il file in un account di archiviazione.
    Pool Spark Il processo verrà inviato al pool di Apache Spark selezionato.
    Versione di Spark Versione di Apache Spark in esecuzione nel pool di Apache Spark.
    Executors Numero di executor da assegnare al pool di Apache Spark specificato per il processo.
    Dimensioni executor Numero di core e memoria da usare per gli executor indicati nel pool di Apache Spark specificato per il processo.
    Dimensioni driver Numero di core e memoria da usare per il driver indicato nel pool di Apache Spark specificato per il processo.
    Configurazione di Apache Spark Personalizzare le configurazioni aggiungendo le proprietà seguenti. Se non si aggiunge una proprietà, Azure Synapse userà il valore predefinito, se applicabile.

    Impostare il valore della definizione di processo Spark per Scala

  7. Selezionare Pubblica per salvare la definizione di processo Apache Spark.

    Pubblicazione della definizione per Scala

Creare una definizione di processo Apache Spark per .NET Spark(C#/F#)

In questa sezione viene creata una definizione di processo Apache Spark per .NET Spark(C#/F#).

  1. Aprire Azure Synapse Studio.

  2. È possibile passare ai file di esempio per la creazione di definizioni di processo Apache Spark per scaricare i file di esempio per dotnet.zip, quindi decomprimere il pacchetto compresso ed estrarre i file wordcount.zip e shakespeare.txt.

    Esempio di .NET

  3. Selezionare Dati ->Collegati ->Azure Data Lake Storage Gen2, quindi caricare wordcount.zip e shakespeare.txt nel file system di ADLS Gen2.

    Preparazione della struttura di DotNet

  4. Selezionare l'hub Sviluppo, fare clic sull'icona '+' e selezionare Definizione di processo Spark per creare una nuova definizione di processo Spark. L'immagine di esempio è identica a quella del passaggio 4 di Creare una definizione di processo Apache Spark (Python) per PySpark.

  5. Selezionare .NET Spark (C#/F#) nell'elenco a discesa del linguaggio nella finestra principale della definizione di processo Apache Spark.

    Selezionare .NET

  6. Immettere le informazioni per la definizione di processo Apache Spark. È possibile copiare le informazioni di esempio.

    Proprietà Descrizione
    Nome definizione processo Specificare un nome per la definizione di processo Apache Spark. Questo nome può essere aggiornato in qualsiasi momento fino a quando non viene pubblicato.
    Esempio: dotnet
    File di definizione principale File principale usato per il processo. Selezionare un file con estensione zip contenente l'applicazione .NET per Apache Spark (ovvero il file eseguibile principale, le DLL che includono le funzioni definite dall'utente e altri file necessari) dall'archivio. È possibile selezionare Carica file per caricare il file in un account di archiviazione.
    Esempio: abfss://…/path/to/wordcount.zip
    File eseguibile principale File eseguibile principale nel file ZIP della definizione principale.
    Esempio: WordCount
    Argomenti della riga di comando Argomenti facoltativi per il processo.
    Campione: abfss://…/path/to/shakespeare.txt abfss://…/path/to/result
    Nota: due argomenti per la stessa definizione di processo di esempio sono separati da uno spazio.
    File di riferimento Altri file necessari ai nodi di lavoro per l'esecuzione dell'applicazione .NET per Apache Spark non inclusi nel file con estensione zip della definizione principale (ovvero file con estensione jar dipendenti, DLL di funzioni definite dall'utente aggiuntive e altri file di configurazione). È possibile selezionare Carica file per caricare il file in un account di archiviazione.
    Pool Spark Il processo verrà inviato al pool di Apache Spark selezionato.
    Versione di Spark Versione di Apache Spark in esecuzione nel pool di Apache Spark.
    Executors Numero di executor da assegnare al pool di Apache Spark specificato per il processo.
    Dimensioni executor Numero di core e memoria da usare per gli executor indicati nel pool di Apache Spark specificato per il processo.
    Dimensioni driver Numero di core e memoria da usare per il driver indicato nel pool di Apache Spark specificato per il processo.
    Configurazione di Apache Spark Personalizzare le configurazioni aggiungendo le proprietà seguenti. Se non si aggiunge una proprietà, Azure Synapse userà il valore predefinito, se applicabile.

    Impostare il valore della definizione di processo Spark per DotNet

  7. Selezionare Pubblica per salvare la definizione di processo Apache Spark.

    Pubblicazione della definizione per DotNet

Nota

Per la configurazione di Apache Spark, se la definizione del processo Apache Spark di configurazione Apache Spark non esegue operazioni speciali, durante l'esecuzione del processo verrà usata la configurazione predefinita.

Creare una definizione di processo Apache Spark importando un file JSON

È possibile importare un file JSON locale esistente nell'area di lavoro di Azure Synapse dal menu Azioni (...) di Esplora definizione di processo Apache Spark per creare una nuova definizione di processo Apache Spark.

creare una definizione di importazione

La definizione del processo Spark è pienamente compatibile con l'API Livy. È possibile aggiungere altri parametri per altre proprietà Livy (Livy Docs - API REST (apache.org) nel file JSON locale. È anche possibile specificare i parametri correlati alla configurazione di Spark nella proprietà config, come illustrato di seguito. È quindi possibile importare di nuovo il file JSON per creare una nuova definizione di processo Apache Spark per il processo batch. Esempio JSON per l'importazione della definizione Spark:

   {
  "targetBigDataPool": {
    "referenceName": "socdemolarge",
    "type": "BigDataPoolReference"
  },
  "requiredSparkVersion": "2.3",
  "language": "scala",
  "jobProperties": {
    "name": "robinSparkDefinitiontest",
    "file": "adl://socdemo-c14.azuredatalakestore.net/users/robinyao/wordcount.jar",
    "className": "WordCount",
    "args": [
      "adl://socdemo-c14.azuredatalakestore.net/users/robinyao/shakespeare.txt"
    ],
    "jars": [],
    "files": [],
    "conf": {
      "spark.dynamicAllocation.enabled": "false",
      "spark.dynamicAllocation.minExecutors": "2",
      "spark.dynamicAllocation.maxExecutors": "2"
    },
    "numExecutors": 2,
    "executorCores": 8,
    "executorMemory": "24g",
    "driverCores": 8,
    "driverMemory": "24g"
  }
}

altre proprietà livy

Esportare un file di definizione di processo Apache Spark esistente

È possibile esportare i file di definizione del processo Apache Spark esistenti in locale dal menu Azioni (...) di Esplora file. È possibile aggiornare ulteriormente il file JSON per altre proprietà Livy e importarlo nuovamente per creare una nuova definizione del processo, se necessario.

creare la definizione di esportazione

creare la definizione di esportazione 2

Inviare una definizione di processo Apache Spark come processo batch

Dopo aver creato una definizione di processo Apache Spark, è possibile inviarla a un pool di Apache Spark. Assicurarsi di essere il Collaboratore dei dati del BLOB di archiviazione del file system di ADLS Gen2 che si desidera usare. Se non lo si è, è necessario aggiungere l'autorizzazione manualmente.

Scenario 1: inviare la definizione di processo Apache Spark

  1. Aprire una finestra di definizione di processo Apache Spark selezionandola.

    Aprire la definizione del processo Spark da inviare

  2. Selezionare il pulsante Invia per inviare il progetto al pool di Apache Spark. È possibile selezionare la scheda Spark monitoring URL (URL di monitoraggio Spark) per visualizzare la query su log dell'applicazione Apache Spark.

    Selezionare il pulsante Invia per inviare la definizione di processo Spark

    Finestra di dialogo Spark Submission (Invio Spark)

Scenario 2: visualizzare lo stato di esecuzione del processo Apache Spark

  1. Selezionare Monitoraggio e quindi l'opzione relativa alle applicazioni Apache Spark. Verrà visualizzata l'applicazione Apache Spark inviata.

    Visualizzare l'applicazione Spark

  2. Selezionare quindi un'applicazione Apache Spark. Viene visualizzata la finestra del processo SparkJobDefinition. Qui è possibile visualizzare lo stato di esecuzione del processo.

    Visualizzare la finestra LogQuery (Query su log) per l'applicazione Spark

Scenario 3: verificare il file di output

  1. Selezionare Dati ->Collegati ->Azure Data Lake Storage Gen2 (hozhaobdbj), aprire la cartella result creata in precedenza e verificare se l'output è stato generato.

    Visualizzare il file di output

Aggiungere una definizione di processo Apache Spark a una pipeline

In questa sezione viene aggiunta una definizione di processo Apache Spark a una pipeline.

  1. Aprire una definizione di processo Apache Spark esistente.

  2. Selezionare l'icona nell'angolo in alto a destra della finestra della definizione di processo Apache Spark e selezionare Existing Pipeline (Pipeline esistente) o New pipeline (Nuova pipeline). Per altre informazioni, fare riferimento alla pagina Pipeline.

    Aggiunta a pipeline1

    Aggiunta a pipeline2

Passaggi successivi

Successivamente sarà possibile usare Azure Synapse Studio per creare set di dati di Power BI e gestire i dati di Power BI. Per altre informazioni, vedere l'articolo Collegamento di un'area di lavoro Power BI a un'area di lavoro di Synapse.