Trasformare i dati eseguendo un'attività Python in Azure DatabricksTransform data by running a Python activity in Azure Databricks

L'attività Python di Azure Databricks in una pipeline di Data Factory esegue un file Python nel cluster di Azure Databricks.The Azure Databricks Python Activity in a Data Factory pipeline runs a Python file in your Azure Databricks cluster. Questo articolo si basa sull'articolo relativo alle  attività di trasformazione dei dati , che presenta una panoramica generale della trasformazione dei dati e delle attività di trasformazione supportate.This article builds on the data transformation activities article, which presents a general overview of data transformation and the supported transformation activities. Azure Databricks è una piattaforma gestita per l'esecuzione di Apache Spark. Azure Databricks is a managed platform for running Apache Spark.

Per un'introduzione di undici minuti e una dimostrazione di questa funzionalità, guardare il video seguente:For an eleven-minute introduction and demonstration of this feature, watch the following video:

Definizione dell'attività Python di DatabricksDatabricks Python activity definition

Ecco la definizione JSON di esempio di un'attività Python di Databricks:Here is the sample JSON definition of a Databricks Python Activity:

{
    "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 DatabricksDatabricks Python activity properties

La tabella seguente fornisce le descrizioni delle proprietà JSON usate nella definizione JSON:The following table describes the JSON properties used in the JSON definition:

ProprietàProperty DescriptionDescription ObbligatoriaRequired
namename Nome dell'attività nella pipeline.Name of the activity in the pipeline. Yes
descriptiondescription Testo che descrive l'attività.Text describing what the activity does. NoNo
typetype Per l'attività Python di Databricks il tipo di attività è DatabricksSparkPython.For Databricks Python Activity, the activity type is DatabricksSparkPython. Yes
linkedServiceNamelinkedServiceName Nome del servizio collegato Databricks su cui è in esecuzione l'attività Python.Name of the Databricks Linked Service on which the Python activity runs. Per informazioni su questo servizio collegato, vedere l'articolo  Servizi collegati di calcolo .To learn about this linked service, see Compute linked services article. Yes
pythonFilepythonFile L'URI del file Python da eseguire.The URI of the Python file to be executed. Sono supportati solo i percorsi DBFS.Only DBFS paths are supported. Yes
Parametriparameters Parametri della riga di comando che verranno passati al file Python.Command line parameters that will be passed to the Python file. È una matrice di stringhe.This is an array of strings. NoNo
librarieslibraries Un elenco di librerie da installare nel cluster che eseguirà il processo.A list of libraries to be installed on the cluster that will execute the job. Può essere una matrice di <stringa, oggetto>It can be an array of <string, object> NoNo

Librerie supportate per le attività di databricksSupported libraries for databricks activities

Nella definizione dell'attività di Databricks precedente si specificano questi tipi di libreria: jar, egg, maven, pypi, cran.In the above Databricks activity definition you specify these library types: 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.For more details refer Databricks documentation for library types.

Come caricare una libreria in DatabricksHow to upload a library in Databricks

Uso dell'interfaccia utente dell'area di lavoro di DatabricksUsing Databricks workspace UI

Per ottenere il percorso dbfs della libreria aggiunto tramite l'interfaccia utente, è possibile usare Databricks CLI (installazione).To obtain the dbfs path of the library added using UI, you can use Databricks CLI (installation).

In genere le librerie Jar sono archiviate in dbfs:/FileStore/jars quando si usa l'interfaccia utente.Typically the Jar libraries are stored under dbfs:/FileStore/jars while using the UI. È possibile elencarle tutte tramite la CLI: databricks fs ls dbfs:/FileStore/jarsYou can list all through the CLI: databricks fs ls dbfs:/FileStore/jars

Copia della libreria con Databricks CLICopy library using Databricks CLI

Esempio: databricks fs cp SparkPi-assembly-0.1.jar dbfs:/FileStore/jarsExample: databricks fs cp SparkPi-assembly-0.1.jar dbfs:/FileStore/jars