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 este artículo se describe cómo incorporar datos a un área de trabajo de Azure Databricks nueva desde Azure Data Lake Storage. Aprenderá a acceder de forma segura a los datos de origen en una ubicación de almacenamiento de objetos en la nube que se corresponda con un volumen del catálogo de Unity (recomendado) o una ubicación externa del catálogo de Unity. A continuación, aprenderá a ingerir los datos de forma incremental en una tabla gestionada por Unity Catalog, usando Auto Loader con las canalizaciones declarativas de Lakeflow Spark.
Nota:
Para incorporar datos en Databricks SQL en lugar de en un cuaderno, consulte Uso de tablas de streaming en Databricks SQL.
Antes de empezar
Si no es administrador, en este artículo se supone que un administrador le ha proporcionado lo siguiente:
Acceso a un área de trabajo de Azure Databricks con Unity Catalog habilitado. Para obtener más información, consulte Introducción al catálogo de Unity.
El permiso
READ VOLUMEen el volumen externo del catálogo de Unity o el permisoREAD FILESen la ubicación externa del catálogo de Unity que se corresponde con la ubicación de almacenamiento en la nube que contiene los datos de origen. Para obtener más información, consulte Concesión de permisos en una ubicación externa.La ruta de acceso a los datos de origen.
Ejemplo de ruta de acceso del volumen:
/Volumes/<catalog>/<schema>/<volume>/<path>/<folder>Ejemplo de ruta de ubicación externa:
abfss://<container>@<storage-account>.dfs.core.windows.net/<folder>Los privilegios
USE SCHEMAyCREATE TABLEen el esquema en el que desea cargar datos.Permiso de creación de clústeres o acceso a una directiva de clúster que define un clúster de canalización (
cluster_typecampo establecido endlt).Si la ruta de acceso a los datos de origen es una ruta de acceso de volumen, el clúster debe ejecutar Databricks Runtime 13.3 LTS o superior.
Importante
Si tiene alguna pregunta sobre estos requisitos previos, póngase en contacto con el administrador de la cuenta.
Paso 1: creación de un clúster
Para crear un clúster, haga lo siguiente:
- Inicie sesión en su área de trabajo de Azure Databricks.
- En la barra lateral, haga clic en Nuevo>Cluster.
- En la interfaz de usuario de clústeres, especifique un nombre único para el clúster.
- Si la ruta de acceso a los datos de origen es una ruta de volumen, para la versión de Databricks Runtime, seleccione la 13.2 o superior.
- Haga clic en Crear clúster.
Paso 2: Creación de un cuaderno de exploración de datos
En esta sección se describe cómo crear un cuaderno de exploración de datos para que pueda comprender los datos antes de crear la canalización de datos.
En la barra lateral, haga clic en +Nuevo>Cuaderno.
El cuaderno se adjunta automáticamente al último clúster que usó (en este caso, el clúster que creó en el Paso 1: Crear un clúster).
Proporcionar un nombre para el cuaderno.
Haga clic en el botón de idioma y, a continuación, seleccione
PythonoSQLen el menú desplegable.Pythonestá seleccionado de forma predeterminada.Para confirmar el acceso a los datos de origen en ADLS, pegue el código siguiente en una celda del cuaderno, haga clic en
y, a continuación, haga clic en Ejecutar celda.SQL
LIST '<path-to-source-data>'Pitón
%fs ls '<path-to-source-data>'Reemplace
<path-to-source-data>por la ruta de acceso al directorio que contiene los datos.Esto muestra el contenido del directorio que contiene el conjunto de datos.
Para ver un ejemplo de los registros para comprender mejor el contenido y el formato de cada registro, pegue lo siguiente en una celda del cuaderno, haga clic en
y, a continuación, haga clic en Ejecutar celda.SQL
SELECT * from read_files('<path-to-source-data>', format => '<file-format>') LIMIT 10Pitón
spark.read.format('<file-format>').load('<path-to-source-data>').limit(10).display()Reemplace los siguientes valores:
-
<file-format>: un formato de archivo compatible. Consulte Opciones de formato de archivo. -
<path to source data>: ruta de acceso a un archivo del directorio que contiene los datos.
Esto muestra los diez primeros registros del archivo especificado.
-
Paso 3: Ingesta de datos sin procesar
Para ingerir datos sin procesar, haga lo siguiente:
En la barra lateral, haga clic en Nuevo>Cuaderno.
El cuaderno se adjunta automáticamente al último clúster que usó (en este caso, el clúster que creó anteriormente en este artículo).
Proporcionar un nombre para el cuaderno.
Haga clic en el botón de idioma y, a continuación, seleccione
PythonoSQLen el menú desplegable.Pythonestá seleccionado de forma predeterminada.Pegue el código siguiente en una celda del cuaderno:
SQL
CREATE OR REFRESH STREAMING TABLE <table-name> AS SELECT * FROM STREAM read_files( '<path-to-source-data>', format => '<file-format>' )Pitón
@dp.table(table_properties={'quality': 'bronze'}) def <table-name>(): return ( spark.readStream.format('cloudFiles') .option('cloudFiles.format', '<file-format>') .load(f'{<path-to-source-data>}') )Reemplace los siguientes valores:
-
<table-name>: un nombre para la tabla que contendrá los registros ingeridos. -
<path-to-source-data>: ruta de acceso a los datos de origen. -
<file-format>: un formato de archivo compatible. Consulte Opciones de formato de archivo.
-
Nota:
Las canalizaciones declarativas de Spark de Lakeflow no están diseñadas para ejecutarse de forma interactiva en celdas de cuaderno. La ejecución de una celda que contiene la sintaxis de canalizaciones declarativas de Spark de Lakeflow en un cuaderno devuelve un mensaje sobre si la consulta es sintácticamente válida, pero no ejecuta lógica de consulta. En el paso siguiente se describe cómo crear una canalización a partir del cuaderno de ingesta que acaba de crear.
Paso 4: Creación y publicación de una canalización
Para crear una canalización y publicarla en Unity Catalog, haga lo siguiente:
- En el área de trabajo, haga clic en
Trabajos y canalizaciones en la barra lateral.
- En Nuevo, haga clic en Canalización ETL.
- Escriba un nombre para la canalización.
- Para Modo de canalización, seleccione desencadenado.
- En Código fuente, seleccione el cuaderno que contiene el código fuente de la canalización.
- En Destino, seleccione Unity Catalog.
- Para asegurarse de que Unity Catalog administra la tabla y cualquier usuario con acceso al esquema primario puede consultarla, seleccione un catálogo y un esquema de destino en las listas desplegables.
- Si no tiene permiso de creación de clústeres, seleccione una directiva de clúster que admita canalizaciones declarativas de Spark de Lakeflow en la lista desplegable.
- En Opciones avanzadas, establezca el canal en Versión preliminar.
- Acepte todos los demás valores predeterminados y haga clic en Crear.
Paso 5: Programar la canalización
Para programar la canalización, haga lo siguiente:
- En el área de trabajo, haga clic en
Trabajos y canalizaciones en la barra lateral.
- Haga clic en el nombre de la canalización que desea programar.
- Haga clic en Programar>Agregar una programación.
- En Nombre del trabajo, escriba un nombre para el trabajo.
- Establezca la Programación en Programado.
- Especifique el período, la hora de inicio y la zona horaria.
- Configure una o varias direcciones de correo electrónico para recibir alertas sobre el inicio, el éxito o el error de la canalización.
- Haga clic en Crear.
Pasos siguientes
- Conceda a los usuarios acceso a la nueva tabla. Para obtener más información, consulte Privilegios y objetos protegibles de Unity Catalog.
- Los usuarios con acceso a la nueva tabla ahora pueden consultar la tabla en un cuaderno o usar el editor de SQL de Databricks.