Compartir a través de


Transformación de datos mediante la ejecución de una actividad de Python en Azure Databricks

SE APLICA A: Azure Data Factory Azure Synapse Analytics

Sugerencia

Pruebe Data Factory en Microsoft Fabric, una solución de análisis todo en uno para empresas. Microsoft Fabric abarca todo, desde movimientos de datos hasta ciencia de datos, análisis en tiempo real, inteligencia empresarial e informes. ¡Obtenga más información sobre cómo iniciar una nueva evaluación gratuita!

La actividad de Python de Azure Databricks en una canalización ejecuta un archivo de Python en el clúster de Azure Databricks. Este artículo se basa en el artículo sobre actividades de transformación de datos , que presenta información general de la transformación de datos y las actividades de transformación admitidas.  Azure Databricks es una plataforma administrada para ejecutar Apache Spark.

Si desea una introducción y demostración de once minutos de esta característica, vea el siguiente vídeo:

Adición de una actividad de Python para Azure Databricks a una canalización con la interfaz de usuario

Para usar una actividad de Python para Azure Databricks en una canalización, complete los pasos siguientes:

  1. Busque Python en el panel Actividades de canalización y arrastre una actividad de Python al lienzo de canalización.

  2. Seleccione la nueva actividad de Python en el lienzo si aún no lo ha hecho.

  3. Seleccione la pestaña Azure Databricks para elegir o crear un servicio vinculado de Azure Databricks que ejecutará la actividad de Python.

    Muestra la interfaz de usuario de una actividad de Python.

  4. Seleccione la pestaña Configuración y especifique la ruta de acceso en Azure Databricks al archivo de Python que se va a ejecutar, los parámetros opcionales que se pasarán y las bibliotecas que se instalarán en el clúster para ejecutar el trabajo.

    Muestra la UI de la pestaña Configuración de una actividad de Python.

Definición de la actividad de Python en Databricks

Esta es la definición de JSON de ejemplo de una actividad de Python en 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"
                    }
                }
            ]
        }
    }
}

Propiedades de la actividad de Python en Databricks

En la siguiente tabla se describen las propiedades JSON que se usan en la definición de JSON:

Propiedad Descripción Obligatorio
name Nombre de la actividad en la canalización.
description Texto que describe para qué se usa la actividad. No
type En el caso de la actividad de Python en Databricks, el tipo de actividad es DatabricksSparkPython.
linkedServiceName Nombre del servicio vinculado de Databricks en el que se ejecuta la actividad de Python. Para obtener más información sobre este servicio vinculado, vea el artículo Compute linked services (Servicios vinculados de procesos).
pythonFile El URI del archivo Python que se va a ejecutar. Solo se admiten rutas de acceso de DBFS.
parámetros Parámetros de la línea de comandos que se pasarán al archivo Python. Se trata de una matriz de cadenas. No
libraries Lista de bibliotecas para instalar en el clúster que ejecutará el trabajo. Puede ser una matriz de <cadena, objeto>. No

Bibliotecas compatibles con las actividades de Databricks

En la definición de la actividad de Databricks anterior, especifica estos tipos de biblioteca: 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"
            }
        }
    ]
}

Para más detalles, consulte la documentación de Databricks sobre los tipos de bibliotecas.

Carga de una biblioteca en Databricks

Puede usar la interfaz de usuario del área de trabajo:

  1. Uso de la interfaz de usuario del área de trabajo de Databricks

  2. Para obtener la ruta de acceso de dbfs de la biblioteca que se agregó mediante la interfaz de usuario, puede usar la CLI de Databricks.

    Habitualmente, las bibliotecas de Jar se almacenan en dbfs:/FileStore/jars mientras se usa la interfaz de usuario. Puede enumerar todo mediante la CLI: databricks fs ls dbfs:/FileStore/job-jars

O bien, puede usar la CLI de Databricks:

  1. Siga Copia de la biblioteca mediante la CLI de Databricks

  2. Uso de la CLI de Databricks (pasos de instalación)

    Por ejemplo, para copiar un archivo JAR en dbfs: dbfs cp SparkPi-assembly-0.1.jar dbfs:/docs/sparkpi.jar