Compartir vía


Azure Databricks para desarrolladores de Python

En esta sección se proporciona una guía para desarrollar cuadernos y trabajos en Azure Databricks mediante el lenguaje Python, incluidos tutoriales para flujos de trabajo y tareas comunes, así como vínculos a API, bibliotecas y herramientas.

Primeros pasos:

Tutoriales

En los tutoriales siguientes se proporcionan código y cuadernos de ejemplo para obtener información sobre los flujos de trabajo comunes. Consulte Importar un cuaderno para obtener instrucciones sobre cómo importar ejemplos de cuadernos en el área de trabajo.

Ingeniería de datos

Ciencia de datos y aprendizaje automático

Depuración en cuadernos de Python

En el cuaderno de ejemplo se muestra cómo usar el depurador de Python (pdb) en cuadernos de Databricks. Para usar el depurador de Python, debes ejecutar Databricks Runtime 11.3 LTS o superior.

Con Databricks Runtime 12.2 LTS y versiones posteriores, puedes usar el explorador de variables para realizar un seguimiento del valor actual de las variables de Python en la interfaz de usuario del cuaderno. Puedes usar el explorador de variables para observar los valores de las variables de Python a medida que recorres los puntos de interrupción.

Cuaderno de ejemplo del depurador de Python

Obtener el cuaderno

Nota:

breakpoint()no se admite en IPython y, por tanto, no funciona en cuadernos de Databricks. Puede usar import pdb; pdb.set_trace() en lugar de breakpoint().

API de Python

El código de Python que se ejecuta fuera de Databricks generalmente se puede ejecutar en Databricks y viceversa. Si tiene código previo, impórtelo en Databricks para empezar. Vea Administración de código con cuadernos y carpetas de Git de Databricksa continuación para obtener más información.

Databricks puede ejecutar cargas de trabajo de Python distribuidas y de una sola máquina. En el caso de computación de una sola máquina, puede usar las API y bibliotecas de Python como de costumbre; por ejemplo, Pandas y Scikit-learn "solo funcionarán". En el caso de las cargas de trabajo de Python distribuidas, Databricks ofrece dos API populares de forma predeterminada: PySpark y la API de Pandas en Spark.

API de PySpark

PySpark es la API oficial de Python para Apache Spark y combina la eficacia de Python y Apache Spark. PySpark es más flexible que la API de Pandas en Spark y proporciona una amplia compatibilidad y características para la funcionalidad de ciencia de datos e ingeniería, como Spark SQL, Structured Streaming, MLLib y GraphX.

Pandas API en Spark

Nota:

El proyecto de código abierto Koalas ahora recomienda cambiar a la API de Pandas en Spark. La API de Pandas en Spark está disponible en clústeres que ejecutan Databricks Runtime 10.0 (EoS) y versiones posteriores. En el caso de los clústeres que ejecutan Databricks Runtime 9.1 LTS y anteriores, use Koalas en su lugar.

Pandas es un paquete de Python que suelen usar los científicos de datos para el análisis y la manipulación de datos. Sin embargo, Pandas no se escala horizontalmente a macrodatos. La API de Pandas en Spark subsana esta carencia, al proporcionar API equivalentes a Pandas que funcionan en Apache Spark. Esta API de código abierto es una opción ideal para los científicos de datos que están familiarizados con Pandas, pero no con Apache Spark.

Administración de código con cuadernos y carpetas de Git de Databricks

Los cuadernos de Databricks admiten Python. Estos cuadernos ofrecen una funcionalidad similar a la de Jupyter, pero con añadidos como visualizaciones integradas mediante macrodatos, integraciones de Apache Spark para la depuración y supervisión del rendimiento, e integraciones de MLflow para el seguimiento de experimentos de aprendizaje automático. Comenzar importando un cuaderno. Una vez que tenga acceso a un clúster, puede asociar un cuaderno al clúster y ejecutar el cuaderno.

Sugerencia

Para restablecer completamente el estado del cuaderno, puede ser útil reiniciar el kernel de iPython. Para los usuarios de Jupyter, la opción "reiniciar kernel" en Jupyter corresponde a desasociar y volver a asociar un cuaderno en Databricks. Para reiniciar el kernel en un cuaderno Python, haga clic en el selector de proceso de la barra de herramientas del cuaderno y mantenga el puntero sobre el clúster o almacenamiento SQL asociados en la lista para mostrar un menú lateral. Seleccione Desasociar y volver a adjuntar. Esto desasocia el cuaderno del clúster y lo vuelve a asociar, lo que reinicia el proceso de Python.

Carpetas de Git de Databricks permiten a los usuarios sincronizar cuadernos y otros archivos con repositorios de Git. Las carpetas de Git de Databricks ayudan con el control de versiones de código y la colaboración, y puede simplificar la importación de un repositorio completo de código en Azure Databricks, la visualización de versiones anteriores del cuaderno y la integración con el desarrollo del IDE. Comenzar clonando un repositorio de Git remoto. Después, puedes abrir o crear cuadernos con el clon del repositorio, adjuntar el cuaderno a un clúster y ejecutar el cuaderno.

Clústeres y bibliotecas

Azure Databricks Compute proporciona administración informática para clústeres de cualquier tamaño: desde clústeres de un solo nodo hasta grandes clústeres. Puede personalizar el hardware y las bibliotecas del clúster según sus necesidades. Por lo general, los científicos de datos comenzarán a trabajar creando un clúster o usando un clúster compartido existente. Una vez que tenga acceso a un clúster, puede asociar un cuaderno al clúster o ejecutar un trabajo en el clúster.

Los clústeres de Azure Databricks usan Databricks Runtime, que proporciona muchas bibliotecas populares listas para usar, como Apache Spark, Delta Lake, Pandas, etc. También puede instalar bibliotecas adicionales, de terceros o personalizadas de Python, para usarlas con cuadernos y trabajos.

Visualizaciones

Los cuadernos de Python de Azure Databricks disponen de compatibilidad integrada con muchos tipos de visualizaciones. También es posible usar visualizaciones heredadas.

También puede visualizar datos mediante bibliotecas de terceros; algunos están preinstalados en Databricks Runtime, pero también puede instalar bibliotecas personalizadas. Entre las opciones más populares se incluyen:

Trabajos

Puede automatizar las cargas de trabajo de Python como trabajos programados o desencadenados en Databricks. Los trabajos pueden ejecutar cuadernos, scripts de Python y archivos de rueda de Python.

  • Cree y actualice trabajos mediante la interfaz de usuario de Databricks o la API rest de Databricks.
  • El SDK de Python de Databricks permite crear, editar y eliminar trabajos mediante programación.
  • La CLI de Databricks proporciona una cómoda interfaz de línea de comandos para automatizar los trabajos.

Sugerencia

Para programar un script de Python en lugar de un cuaderno, use el campo spark_python_task en tasks en el cuerpo de una solicitud de creación de trabajo.

Machine Learning

Databricks admite una amplia variedad de cargas de trabajo de aprendizaje automático (ML), incluidos el ML tradicional en datos tabulares, el aprendizaje profundo para visión artificial y el procesamiento de lenguaje natural, los sistemas de recomendaciones, el análisis de grafos, etc. Para obtener información general sobre el aprendizaje automático en Databricks, consulte IA y aprendizaje automático en Databricks.

Para algoritmos de aprendizaje automático, puede usar bibliotecas preinstaladas en Databricks Runtime para Machine Learning, que incluye herramientas populares de Python como Scikit-learn, TensorFlow, Keras, PyTorch, Apache Spark MLlib y XGBoost. También puede instalar bibliotecas personalizadas.

Para las operaciones de aprendizaje automático (MLOps), Azure Databricks proporciona un servicio administrado para la biblioteca de código abierto MLFlow. Con el seguimiento de MLflow, puede registrar el desarrollo de modelos y guardar modelos en formatos reutilizables. Puede usar el registro de modelos de MLflow para administrar y automatizar la promoción de modelos hacia producción. Los trabajos y Model Serving permiten hospedar modelos como trabajos por lotes y streaming y como puntos de conexión REST. Para obtener más información y ejemplos, consulte la Administración del ciclo de vida de ML mediante MLflow o la Documentación de la API de Python de MLflow.

Para empezar a trabajar con cargas de trabajo comunes de aprendizaje automático, consulte las páginas siguientes:

IDE, herramientas para desarrolladores y SDK

Además de desarrollar código de Python en cuadernos de Azure Databricks, puede desarrollar externamente mediante entornos de desarrollo integrados (IDE), como PyCharm, Jupyter y Visual Studio Code. Para sincronizar el trabajo entre entornos de desarrollo externos y Databricks, hay varias opciones:

  • Código: puede sincronizar el código mediante Git. Consulte integración de Git para carpetas de Git de Databricks.
  • Bibliotecas y trabajos: Puede crear bibliotecas (como archivos de rueda de Python) externamente y cargarlas en Databricks. Esas bibliotecas se pueden importar en cuadernos de Databricks o se pueden usar para crear trabajos. Consulte Bibliotecas y Programación y orquestación de flujos de trabajo.
  • Ejecución de máquina remota: puede ejecutar código desde el IDE local para desarrollo y pruebas interactivos. El IDE puede comunicarse con Azure Databricks para ejecutar Apache Spark y cálculos grandes en clústeres de Azure Databricks. Consulte Databricks Connect.

Databricks proporciona un conjunto de SDK, incluido un SDK de Python, que admite la automatización y la integración con herramientas externas. Puede utilizar los SDK de Databricks para administrar recursos como clústeres y bibliotecas, código y otros objetos del área de trabajo, cargas de trabajo y tareas, etc. Consulte los SDK de Databricks.

Para obtener más información sobre los IDE, las herramientas de desarrollo y los SDK, consulte Herramientas de desarrollo.

Recursos adicionales