Condividi tramite


Creare il primo flusso di lavoro con un lavoro di Azure Databricks

Questo articolo illustra un lavoro di Azure Databricks che orchestra le task per leggere ed elaborare un set di dati di esempio. Questa guida introduttiva spiega come:

  1. Creare un nuovo notebook e aggiungere codice per riprendere un set di dati di esempio contenente i nomi di bambini più diffusi in base all'anno.
  2. Salvare il set di dati di esempio in Unity Catalog.
  3. Creare un nuovo notebook e aggiungere codice per leggere il set di dati da Unity Catalog, filtrarlo in base all'anno e visualizzare i risultati.
  4. Creare un nuovo lavoro e configurare due task usando i notebook.
  5. Eseguire il processo e visualizzare i risultati.

Requisiti

Se l'area di lavoro è abilitata per Unity Catalog e sono abilitati i Lavori serverless, per impostazione predefinita, il lavoro viene eseguito in elaborazione Serverless. Non è necessaria l'autorizzazione di creazione del cluster per eseguire il lavoro con Elaborazione serverless.

In caso contrario, è necessario disporre di autorizzazione di creazione del cluster per creare il calcolo processi o delle autorizzazioni per tutte le risorse di calcolo multiuso.

È necessario disporre di un volume in Unity Catalog. Questo articolo usa un volume denominato my-volume in uno schema denominato default all'interno di un catalogo denominato main. Inoltre è necessario disporre delle autorizzazioni seguenti in Unity Catalog:

  • READ VOLUME e WRITE VOLUME, o ALL PRIVILEGES per il volume my-volume.
  • USE SCHEMA o ALL PRIVILEGES per lo schema default.
  • USE CATALOG o ALL PRIVILEGES per il catalogo main.

Per impostare queste autorizzazioni, vedere l'amministratore di Databricks o i privilegi di Unity Catalog e gli oggetti a protezione diretta.

Creare i notebook

Riprendere e salvare i dati

Per creare un notebook per riprendere il set di dati di esempio e salvarlo in Unity Catalog:

  1. Accedere alla pagina di destinazione di Azure Databricks, cliccare su Nuova icona Nuovo nella barra laterale, quindi selezionare Notebook. Databricks crea e apre un nuovo notebook vuoto nella cartella predefinita. Il linguaggio predefinito è quello usato di recente e il notebook viene collegato automaticamente alla risorsa di calcolo usata di recente.

  2. Se necessario, modificare il linguaggio predefinito in Python.

  3. Copiare il seguente codice Python e incollarlo nella prima cella del notebook.

    import requests
    
    response = requests.get('https://health.data.ny.gov/api/views/jxy9-yhdk/rows.csv')
    csvfile = response.content.decode('utf-8')
    dbutils.fs.put("/Volumes/main/default/my-volume/babynames.csv", csvfile, True)
    

Leggere e visualizzare i dati filtrati

Per creare un notebook per leggere e presentare i dati per eseguire il filtro:

  1. Accedere alla pagina di destinazione di Azure Databricks, cliccare su Nuova icona Nuovo nella barra laterale, quindi selezionare Notebook. Databricks crea e apre un nuovo notebook vuoto nella cartella predefinita. Il linguaggio predefinito è quello usato di recente e il notebook viene collegato automaticamente alla risorsa di calcolo usata di recente.

  2. Se necessario, modificare il linguaggio predefinito in Python.

  3. Copiare il seguente codice Python e incollarlo nella prima cella del notebook.

    babynames = spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("/Volumes/main/default/my-volume/babynames.csv")
    babynames.createOrReplaceTempView("babynames_table")
    years = spark.sql("select distinct(Year) from babynames_table").toPandas()['Year'].tolist()
    years.sort()
    dbutils.widgets.dropdown("year", "2014", [str(x) for x in years])
    display(babynames.filter(babynames.Year == dbutils.widgets.get("year")))
    

Creare un processo

  1. Fare clic su Icona Flussi di lavoro Flussi di lavoro nella barra laterale.

  2. Fare clic su Pulsante Crea processo.

    Viene visualizzata la scheda Tasks con la finestra di dialogo Crea task.

    Finestra di dialogo Crea prima attività

  3. Sostituire Aggiungi un nome per il processo… con il nome del processo.

  4. Nel campo Nome task immettere un nome per il task, ad esempio retrieve-baby-names.

  5. Nel menu a discesa Tipo selezionare Notebook.

  6. Utilizzare il browser dei file per trovare il notebook creato, cliccare sul nome del notebook e poi su Conferma.

  7. Fare clic su Crea token.

  8. Cliccare Pulsante Aggiungi attività sotto la task appena creata per aggiungere un'altra task.

  9. Nel campo Nome task immettere un nome per il task, ad esempio filter-baby-names.

  10. Nel menu a discesa Tipo selezionare Notebook.

  11. Utilizzare il browser dei file per trovare il secondo notebook creato, cliccare sul nome del notebook e poi su Conferma.

  12. Fare clic su Aggiungi in Parametri. Nel campo Chiave immettere year. Nel campo Valore immettere 2014.

  13. Fare clic su Crea token.

Eseguire il processo

Per eseguire immediatamente il lavoro, cliccare Pulsante Esegui ora nell'angolo in alto a destra. È anche possibile eseguire il lavoro facendo clic sulla scheda Esecuzioni e facendo clic su Esegui ora nella tabella Esecuzioni attive.

Visualizzare i dettagli dell'esecuzione

  1. Cliccare sulla scheda Esecuzioni e quindi sul collegamento per l'esecuzione nella tabella Esecuzioni attive o nella tabella Esecuzioni completate (ultimi 60 giorni).

  2. Fare clic su una delle task per visualizzare l'output e i dettagli. Ad esempio, cliccare sulla task filter-baby-names per visualizzare l'output ed eseguire i dettagli per la task di filtro:

    Visualizzare i risultati dei nomi dei filtri

Eseguire con parametri diversi

Per eseguire di nuovo il lavoro e filtrare i nomi dei bambini per un anno diverso:

  1. Cliccare su Blue Down Caret accanto a Esegui ora e selezionare Esegui ora con parametri diversi oppure nella tabella Esecuzioni attive cliccare su Esegui ora con parametri diversi.
  2. Nel campo Valore immettere 2015.
  3. Fai clic su Esegui.