Trasformare i dati eseguendo un'attività Python in Azure Databricks

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi all-in-one per le aziende. Microsoft Fabric copre tutto ciò che riguarda lo spostamento dei dati, l'analisi in tempo reale, l'intelligence aziendale e la creazione di report. Informazioni su come avviare una nuova versione di valutazione gratuitamente!

L'attività Python di Azure Databricks in una pipeline esegue un file Python nel cluster Azure Databricks. Questo articolo si basa sull'articolo relativo alle attività di trasformazione dei dati che presenta una panoramica generale della trasformazione dei dati e le attività di trasformazione supportate. Azure Databricks è una piattaforma gestita per l'esecuzione di Apache Spark.

Per un'introduzione di undici minuti e una dimostrazione di questa funzionalità, guardare il video seguente:

Aggiungere un'attività Python per Azure Databricks a una pipeline con l'interfaccia utente

Per usare un'attività Python per Azure Databricks in una pipeline, completare la procedura seguente:

  1. Cercare Python nel riquadro Attività pipeline e trascinare un'attività Python nell'area di disegno della pipeline.

  2. Selezionare la nuova attività Python nell'area di disegno se non è già selezionata.

  3. Selezionare la scheda Azure Databricks per selezionare o creare un nuovo servizio collegato di Azure Databricks che eseguirà l'attività Python.

    Mostra l'interfaccia utente per un'attività Python.

  4. Selezionare la scheda Impostazioni e specificare il percorso all'interno di Azure Databricks in un file Python da eseguire, parametri facoltativi da passare e tutte le librerie aggiuntive da installare nel cluster per eseguire il processo.

    Mostra l'interfaccia utente per la scheda Impostazioni per un'attività Python.

Definizione dell'attività Python di Databricks

Ecco la definizione JSON di esempio di un'attività Python di Databricks:

{
    "activity": {
        "name": "MyActivity",
        "description": "MyActivity description",
        "type": "DatabricksSparkPython",
        "linkedServiceName": {
            "referenceName": "MyDatabricksLinkedService",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "pythonFile": "dbfs:/docs/pi.py",
            "parameters": [
                "10"
            ],
            "libraries": [
                {
                    "pypi": {
                        "package": "tensorflow"
                    }
                }
            ]
        }
    }
}

Proprietà dell'attività Python di Databricks

La tabella seguente fornisce le descrizioni delle proprietà JSON usate nella definizione JSON:

Proprietà Descrizione Obbligatoria
name Nome dell'attività nella pipeline.
description Testo che descrive l'attività. No
type Per l'attività Python di Databricks, il tipo di attività è DatabricksSparkPython.
linkedServiceName Nome del servizio collegato Databricks su cui è in esecuzione l'attività Python. Per informazioni su questo servizio collegato, vedere l'articolo Servizi collegati di calcolo.
pythonFile L'URI del file Python da eseguire. Sono supportati solo i percorsi DBFS.
parametri Parametri della riga di comando che verranno passati al file Python. È una matrice di stringhe. No
libraries Un elenco di librerie da installare nel cluster che eseguirà il processo. Può essere una matrice di <stringhe, oggetto> No

Librerie supportate per le attività di databricks

Nella definizione dell'attività di Databricks precedente si specificano questi tipi di libreria: jar, egg, maven, pypi, cran.

{
    "libraries": [
        {
            "jar": "dbfs:/mnt/libraries/library.jar"
        },
        {
            "egg": "dbfs:/mnt/libraries/library.egg"
        },
        {
            "maven": {
                "coordinates": "org.jsoup:jsoup:1.7.2",
                "exclusions": [ "slf4j:slf4j" ]
            }
        },
        {
            "pypi": {
                "package": "simplejson",
                "repo": "http://my-pypi-mirror.com"
            }
        },
        {
            "cran": {
                "package": "ada",
                "repo": "https://cran.us.r-project.org"
            }
        }
    ]
}

Per altre informazioni, consultare la documentazione di Databricks per i tipi di libreria.

Come caricare una libreria in Databricks

È possibile usare l'interfaccia utente dell'area di lavoro:

  1. Usare l'interfaccia utente dell'area di lavoro Di Databricks

  2. Per ottenere il percorso dbfs della libreria aggiunta tramite l'interfaccia utente, è possibile usare l'interfaccia della riga di comando di Databricks.

    In genere le librerie Jar sono archiviate in dbfs:/FileStore/jars quando si usa l'interfaccia utente. È possibile elencarle tutte tramite l'interfaccia della riga di comando: databricks fs ls dbfs:/FileStore/job-jars

In alternativa, è possibile usare l'interfaccia della riga di comando di Databricks:

  1. Seguire Copia la libreria usando l'interfaccia della riga di comando di Databricks

  2. Usare l'interfaccia della riga di comando di Databricks (passaggi di installazione)

    Ad esempio, per copiare un file JAR in dbfs: dbfs cp SparkPi-assembly-0.1.jar dbfs:/docs/sparkpi.jar