Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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:
- Importar código: importe su propio código desde archivos o repositorios de Git, o bien pruebe un tutorial que se muestra a continuación. Databricks recomienda aprender utilizando libretas interactivas de Databricks.
- Ejecute el código en un clúster: cree un clúster propio, o bien asegúrese de que tiene permisos para usar un clúster compartido. Asocie el cuaderno al clúster y ejecute el cuaderno.
- A continuación, puede hacer lo siguiente:
- Trabajar con conjuntos de datos más grandes usando Apache Spark
- Añadir visualizaciones
- Automatiza tu carga de trabajo como si fuera un trabajo
- Usar aprendizaje automático para analizar los datos
- Desarrollo en IDE (entornos de desarrollo integrados)
- Ejecutar y administrar pruebas unitarias de Python en el área de trabajo
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
- Tutorial: Carga y transformación de datos mediante DataFrames de Apache Spark proporciona un tutorial que le ayudará a obtener información sobre los DataFrames de Apache Spark para la preparación y el análisis de datos.
- Tutorial: Creación y administración de tablas de Delta Lake.
- Tutorial: Compilación de una canalización ETL mediante la captura de datos modificados.
Ciencia de datos y aprendizaje automático
- Introducción a los DataFrames de Apache Spark para la preparación y el análisis de datos: Tutorial: Carga y transformación de datos mediante DataFrames de Apache Spark
- Tutorial: modelos de ML clásico de un extremo a otro en Azure Databricks. Para obtener ejemplos adicionales, consulte tutoriales de inteligencia artificial y aprendizaje automático.
- AutoML le permite empezar a trabajar rápidamente con el desarrollo de modelos de aprendizaje automático en sus propios conjuntos de datos. Su enfoque de caja de cristal genera cuadernos con el flujo de trabajo de aprendizaje automático completo, que puede clonar, modificar y volver a ejecutar.
- Administrar el ciclo de vida del modelo en Unity Catalog
Debug 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, debe ejecutar Databricks Runtime 11.3 LTS o superior.
Con Databricks Runtime 12.2 LTS y versiones posteriores, puede usar explorador de variables para realizar un seguimiento del valor actual de las variables de Python en la interfaz de usuario del cuaderno. Puede usar el Explorador de variables para observar los valores de las variables de Python a medida que recorre puntos de ruptura.
cuaderno de ejemplo del depurador de Python
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 Python que se ejecuta fuera de Databricks normalmente 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 Python de una sola máquina y distribuidas. En el caso de la informática de una sola máquina, puede usar Python API y bibliotecas como de costumbre; por ejemplo, pandas y scikit-learn "solo funcionarán". Para cargas de trabajo de Python distribuidas, Databricks ofrece dos API populares de fábrica: PySpark y Pandas API 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 y versiones posteriores. En el caso de los clústeres que ejecutan Databricks Runtime 9.1 LTS y versiones posteriores, use Koalas en su lugar.
pandas es un paquete de Python usado habitualmente por los científicos de datos para el análisis y la manipulación de datos. Sin embargo, Pandas no se adapta bien a datos masivos. 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
Databricks notebooks 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 el estado del cuaderno, reinicie el kernel de iPython. Para los usuarios de Jupyter, la opción "reiniciar kernel" en Jupyter corresponde a iniciar una nueva sesión en Databricks. Para reiniciar el kernel en un cuaderno de Python, haga clic en el selector compute en la barra de herramientas del cuaderno y mantenga el puntero sobre el clúster conectado o el almacén de SQL en la lista para mostrar un menú lateral. Seleccione Nueva sesión. Se inicia una nueva sesión, 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 e 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 de procesos para clústeres de cualquier tamaño: desde clústeres de nodo único hasta clústeres de gran tamaño. 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.
- Para cargas de trabajo pequeñas que solo requieren nodos únicos, los científicos de datos pueden usar el proceso de nodo único para reducir costes.
- Para obtener consejos detallados, vea Recomendaciones de configuración de proceso.
- Los administradores pueden configurar directivas de clúster para simplificar y guiar la creación del clúster.
Los clústeres de Azure Databricks usan el Databricks Runtime, que proporciona muchas bibliotecas populares preinstaladas, como Apache Spark, Delta Lake, pandas, y más. También puede instalar bibliotecas de Python personalizadas o de terceros adicionales para usarlas con cuadernos y trabajos.
- Empieza con las bibliotecas predeterminadas en las versiones de las notas de lanzamiento y compatibilidad de Databricks Runtime. Utilice Databricks Runtime para aprendizaje automático para cargas de trabajo de aprendizaje automático. Para obtener listas completas de bibliotecas preinstaladas, consulte Notas de las versiones y compatibilidad de Databricks Runtime.
- Personalice el entorno mediante Bibliotecas con ámbito de Python notebook, lo que le permite modificar el bloc de notas o el entorno de trabajo con bibliotecas de PyPI u otros repositorios. El comando mágico
%pip install my_libraryinstalamy_libraryen todos los nodos del clúster conectado en ese momento, pero no interfiere con otras cargas de trabajo en proceso con el modo de acceso estándar. - Instale bibliotecas que no Python como bibliotecas de ámbito Compute según sea necesario.
- Para obtener más información, consulte Instalación de bibliotecas.
Visualizaciones
Los cuadernos de Python de Azure Databricks tienen una 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 como tareas programadas o desencadenadas las cargas de trabajo de Python 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 Databricks Python 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.
Aprendizaje Automático
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.
En el caso de los algoritmos de ML, puede usar bibliotecas preinstaladas en Databricks Runtime para Machine Learning, que incluye herramientas de Python populares, 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 open source 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, trabajos de streaming y como endpoints REST. Para obtener más información y ejemplos, consulte la MLflow en Databricks o la documentación de MLflow Python API.
Para empezar a trabajar con cargas de trabajo comunes de aprendizaje automático, consulte las páginas siguientes:
- Entrenamiento de Scikit-learn y seguimiento con MLflow: tutorial de 10 minutos: aprendizaje automático en Databricks con Scikit-learn
- Entrenamiento de modelos de aprendizaje profundo: aprendizaje profundo
- Ajuste de hiperparámetros: ajuste de hiperparámetros con Optuna
- Análisis de grafos: Cómo usar GraphFrames en Azure Databricks
IDE, herramientas para desarrolladores y SDK
Además de desarrollar código 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 carpetas de Git de Azure Databricks.
- Bibliotecas y Trabajos: Puedes crear bibliotecas (como archivos wheel de Python) externamente y cargarlas en Databricks. Esas bibliotecas se pueden importar en cuadernos de Databricks o se pueden usar para crear trabajos. Consulte Instalación de bibliotecas y Tareas de Lakeflow.
- 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 admiten 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 local.
Recursos adicionales
- La Databricks Academy ofrece cursos autodirigidos y dirigidos por instructores en muchos temas.
- Databricks Labs proporciona herramientas para Python desarrollo en Databricks, como el complemento pytest y el complemento pylint. Azure Databricks también ofrece características para ayudar a administrar Python archivos de prueba unitaria en el área de trabajo.
- Entre las características que admiten la interoperabilidad entre PySpark y pandas se incluyen las siguientes:
- entre las herramientas de conectividad de Python y SQL Database se incluyen:
- El conector sql de Databricks para Python permite usar código Python para ejecutar comandos SQL en recursos de Azure Databricks.
- pyodbc permite conectarse desde el código de Python local a través de ODBC a los datos almacenados en databricks lakehouse.
- Las preguntas más frecuentes y sugerencias para mover cargas de trabajo de Python a Databricks se pueden encontrar en la Databricks Knowledge Base.