Conceptos de ingeniería y ciencia de datos de Databricks

En este artículo se presenta el conjunto de conceptos fundamentales que debe comprender para poder usar el área de trabajo de Azure Databricks de forma eficaz.

Área de trabajo

Un área de trabajo es un entorno para acceder a todos los recursos de Azure Databricks. El área de trabajo organiza los objetos (cuadernos, bibliotecas, paneles y experimentos) en carpetas y proporciona acceso a los objetos de datos y los recursos de cálculo.

En esta sección se describen los objetos contenidos en las carpetas del área de trabajo de Azure Databricks.

Cuaderno

Interfaz basada en web para documentos que contiene comandos ejecutables, visualizaciones y texto narrativo.

Panel

Interfaz que proporciona acceso organizado a las visualizaciones.

Biblioteca

Paquete de código disponible para el cuaderno o el trabajo que se ejecuta en el clúster. Los entornos de ejecución de Databricks incluyen muchas bibliotecas y puede agregar las suyas propias.

Repo

Carpeta cuyo contenido tiene control de versiones mediante su sincronización con un repositorio de Git remoto.

Experimento

Una colección de ejecuciones de MLflow para entrenar un modelo de aprendizaje automático.

Interfaz

En esta sección se describen las interfaces que admite Azure Databricks para acceder a los recursos: interfaz de usuario, API y línea de comandos (CLI).

UI

La interfaz de usuario de Azure Databricks proporciona una interfaz gráfica fácil de usar para las carpetas del área de trabajo y los objetos que contienen, objetos de datos y recursos de cálculo.

Página de aterrizaje

API DE REST

Hay dos versiones de la API REST: API REST 2.0 y API REST 1.2. La API REST 2.0 admite la mayor parte de la funcionalidad de la API REST 1.2, así como funcionalidad adicional, y es la opción recomendada.

CLI

Un proyecto de código abierto que se hospeda en GitHub. La CLI se basa en la API REST 2.0.

Administración de datos

En esta sección se describen los objetos que contiene los datos sobre los que se realizan análisis y que alimentan los algoritmos de aprendizaje automático.

Sistema de archivos de Databricks (DBFS)

Una capa de abstracción de sistema de archivos sobre un almacén de blobs. Contiene directorios, que pueden contener archivos (archivos de datos, bibliotecas e imágenes) y otros directorios. DBFS se rellena automáticamente con algunos conjuntos de datos que puede usar para aprender Azure Databricks.

Base de datos

Colección de información que está organizada para que se pueda acceder a ella, administrarla y actualizarla fácilmente.

Tabla

Representación de datos estructurados. Las tablas se consultan con Apache Spark SQL y las API de Apache Spark.

Metastore

Componente que almacena toda la información de estructura de las distintas tablas y particiones del almacenamiento de datos, incluidas la columna y la información de tipo de columna, los serializadores y deserializadores necesarios para leer y escribir datos, y los archivos correspondientes donde se almacenan los datos. Todas las implementaciones de Azure Databricks tienen una instancia de metastore de Hive central a la que pueden tener acceso todos los clústeres para conservar los metadatos de la tabla. También tiene la opción de usar un metastore de Hive externo existente.

Administración de cálculos

En esta sección se describen los conceptos que debe conocer para ejecutar cálculos en Azure Databricks.

Clúster

Conjunto de recursos de cálculo y configuraciones en el que se ejecutan cuadernos y trabajos. Hay dos tipos de clústeres: de uso general y de trabajos.

  • Los clústeres de uso general se crean mediante la interfaz de usuario, la CLI o la API REST. Los clústeres de uso general se pueden finalizar y reiniciar un clúster de uso general. Varios usuarios pueden compartir dichos clústeres para llevar a cabo análisis interactivos colaborativos.
  • El programador de trabajos de Azure Databricks crea un clúster de trabajos cuando se ejecuta un trabajo en un clúster de trabajos nuevo y lo finaliza cuando se completa el trabajo. No puede reiniciar un clúster de trabajos.

Grupo

Conjunto de instancias inactivas y listas para usar que reduce los tiempos de inicio y escalado automático del clúster. Cuando se asocia a un grupo, un clúster asigna sus nodos de controlador y de trabajo desde el grupo. Si el grupo no tiene suficientes recursos inactivos para dar cabida a la solicitud del clúster, el grupo se expande asignando nuevas instancias del proveedor de instancias. Cuando finaliza un clúster asociado, las instancias que ha usado se devuelven al grupo y otro clúster puede reutilizarlas.

Entorno de ejecución de Databricks

Conjunto de componentes principales que se ejecutan en los clústeres administrados por Azure Databricks. Azure Databricks ofrece varios tipos de entornos de ejecución:

  • Databricks Runtime incluye Apache Spark, pero también agrega una serie de componentes y actualizaciones que mejoran considerablemente la facilidad de uso, el rendimiento y la seguridad en el análisis de macrodatos.
  • Databricks Runtime para aprendizaje automático se basa en Databricks Runtime y proporciona un entorno listo para usar para aprendizaje automático y ciencia de datos. Contiene varias bibliotecas populares, como TensorFlow, Keras, PyTorch y XGBoost.
  • Databricks Runtime para Genomics es una versión de Databricks Runtime optimizada para trabajar con datos genómicos y biomédicos.
  • Databricks Light es el empaquetado de Azure Databricks del entorno de ejecución de código abierto de Apache Spark. Proporciona una opción de entorno de ejecución para los trabajos que no necesitan las ventajas de rendimiento avanzado, confiabilidad y escalado automático que proporciona Databricks Runtime. Puede seleccionar Databricks Light solo cuando se crea un clúster para ejecutar un trabajo de JAR, Python o spark-submit. No se puede seleccionar este entorno de ejecución para los clústeres en los que se ejecutan cargas de trabajo interactivas o de cuadernos.

Trabajo

Mecanismo no interactivo para ejecutar un cuaderno o una biblioteca de forma inmediata o programada.

Carga de trabajo

Azure Databricks identifica dos tipos de cargas de trabajo sujetas a diferentes esquemas de precios: ingeniería de datos (trabajo) y análisis de datos (uso general).

  • Ingeniería de datos: una carga de trabajo (automatizada) se ejecuta en un clúster de trabajos que el programador de trabajos de Azure Databricks crea para cada carga de trabajo.
  • Análisis de datos: una carga de trabajo (interactiva) se ejecuta en un clúster de uso general. Las cargas de trabajo interactivas suelen ejecutar los comandos dentro de un cuaderno de Azure Databricks. Sin embargo, la ejecución de un trabajo en un clúster de uso general existente también se trata como una carga de trabajo interactiva.

Contexto de ejecución

Estado de un entorno REPL para cada lenguaje de programación admitido. Los lenguajes admitidos son Python, R, Scala y SQL.

Machine Learning

En esta sección se describen los conceptos relacionados con el aprendizaje automático en Azure Databricks.

Experimentos

Unidad principal de la organización para el seguimiento del desarrollo de modelos de aprendizaje automático. Los experimentos organizan, muestran y controlan el acceso a ejecuciones registradas individuales del código de entrenamiento del modelo.

Almacén de características

Un repositorio centralizado de características. El almacén de características de Databricks permite el uso compartido y la detección de características en toda la organización y también garantiza que se usa el mismo código de cálculo de características para el entrenamiento y la inferencia de modelos.

Modelos

Un modelo de aprendizaje automático o de aprendizaje profundo entrenado que se ha registrado en el Registro de modelos.

Autenticación y autorización

En esta sección se describen los conceptos que debe conocer al administrar usuarios de Azure Databricks y su acceso a los recursos de Azure Databricks.

Usuario

Persona única que tiene acceso al sistema.

Group (Grupo)

Una recopilación de usuarios.

Lista de control de acceso (ACL)

Lista de permisos asociados al área de trabajo, el clúster, el trabajo, la tabla o el experimento. Una ACL especifica a qué usuarios o procesos del sistema se les concede acceso a los objetos, así como qué operaciones se permiten en los recursos. Cada entrada de una ACL típica especifica un sujeto y una operación.