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 usar la actividad de copia en una canalización para copiar datos desde y hacia Azure Databricks.
Prerrequisitos
Para usar este conector de Azure Databricks, debe configurar un clúster en Azure Databricks.
- Para copiar datos a Azure Databricks, la actividad de copia invoca el clúster de Azure Databricks para leer datos de un almacenamiento de Azure, que es el origen original o un área de almacenamiento provisional donde el servicio primero escribe los datos de origen mediante una copia en etapas incorporada. Obtenga más información en Azure Databricks como destino.
- Del mismo modo, para copiar datos de Azure Databricks, la actividad de copia invoca el clúster de Azure Databricks para escribir datos en una instancia de Azure Storage, que es el destino original o un área de almacenamiento provisional desde donde el servicio continúa escribiendo datos en el destino final a través de una copia preconfigurada integrada. Obtenga más información en Azure Databricks como origen.
El clúster de Databricks debe tener acceso a la cuenta de Azure Blob o Azure Data Lake Storage Gen2, tanto el contenedor de almacenamiento como el sistema de archivos que se usa para el origen, el destino o el almacenamiento provisional y el sistema de contenedores o archivos donde desea escribir las tablas de Azure Databricks.
Para usar Azure Data Lake Storage Gen2, puede configurar una entidad de servicio en el clúster de Databricks como parte de la configuración de Apache Spark. Siga los pasos que se indican en Acceso directo con la entidad de servicio.
Para usar Azure Blob Storage, puede configurar una clave de acceso de cuenta de almacenamiento o token de SAS en el clúster de Databricks como parte de la configuración de Apache Spark. Siga los pasos descritos en Acceso a Azure Blob Storage mediante la API de RDD.
Durante la ejecución de la actividad de copia, si el clúster que configuró se ha finalizado, el servicio lo inicia automáticamente. Si crea una canalización mediante la interfaz de usuario de creación, en el caso de las operaciones como la vista previa de los datos, deberá tener un clúster activo, ya que el servicio no iniciará el clúster automáticamente.
Especificación de la configuración de clúster
En el menú desplegable Modo del clúster, seleccione Estándar.
En la lista desplegable Versión de Databricks Runtime, seleccione una versión de Databricks Runtime.
Active la Optimización automática al agregar las siguientes propiedades a la configuración de Spark:
spark.databricks.delta.optimizeWrite.enabled true spark.databricks.delta.autoCompact.enabled trueConfigure el clúster en función de sus necesidades de escalado e integración.
Para obtener detalles sobre la configuración del clúster, consulte Configuración de los clústeres.
Configuración admitida
Para la configuración de cada pestaña en la actividad de copia, vaya a las secciones siguientes respectivamente.
General
Para la configuración de la ficha General, vaya a General.
Fuente
Las siguientes propiedades son compatibles con Azure Databricks en la pestaña Origen de una actividad de copia.
Las siguientes propiedades son obligatorias:
Conexión: seleccione una conexión de Azure Databricks en la lista de conexiones. Si no existe ninguna conexión, cree una nueva conexión de Azure Databricks.
Usar consulta: seleccione Tabla o Consulta.
Si selecciona Tabla:
Catálogo: un catálogo actúa como el contenedor de nivel más alto dentro del marco de catálogo de Unity, lo que le permite organizar los datos en bases de datos y tablas.
Base de datos: seleccione la base de datos en la lista desplegable o escriba la base de datos.
Tabla: especifique el nombre de la tabla para leer datos. Seleccione la tabla en la lista desplegable o escriba el nombre de la tabla.
Si selecciona Consulta:
-
Consulta: especifique la consulta SQL para leer datos. Para el control de viaje en el tiempo, use el siguiente patrón:
SELECT * FROM events TIMESTAMP AS OF timestamp_expressionSELECT * FROM events VERSION AS OF version
-
Consulta: especifique la consulta SQL para leer datos. Para el control de viaje en el tiempo, use el siguiente patrón:
En Avanzado, puede especificar los campos siguientes:
Formato de fecha: Convertir el tipo de dato fecha a cadena utilizando un formato de fecha. Los formatos de fecha personalizados siguen los formatos del patrón de datetime. Si no se especifica, el valor predeterminado es
yyyy-MM-dd.Formato de la marca de tiempo: formatear el tipo de marca de tiempo a una cadena utilizando un formato de marca de tiempo. Los formatos de fecha personalizados siguen los formatos del patrón de datetime. Si no se especifica, el valor predeterminado es
yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX].
Copia directa desde Azure Databricks
Si el almacén de datos de destino y el formato cumplen los criterios descritos en esta sección, puede usar la actividad de copia para copiar directamente desde Azure Databricks al destino. El servicio comprueba la configuración y genera un error en la ejecución de la actividad de copia si no se cumplen los siguientes criterios:
La conexión de destino es Azure Blob Storage o Azure Data Lake Storage Gen2. Las credenciales de la cuenta deben estar configuradas previamente en la configuración de clúster de Azure Databricks. Obtenga más información sobre los Requisitos previos.
El formato de datos de destino es de Parquet, DelimitedText o Avro con las siguientes configuraciones y apunta a una carpeta en lugar de a un archivo.
- Para el formato Parquet , el códec de compresión es None, snappy o gzip.
- Para el formato DelimitedText :
-
rowDelimiteres cualquier carácter individual. -
compressionpuede ser None, bzip2, gzip. - No se admite
encodingNamecon el valor UTF-7.
-
- Para el formato Avro , el códec de compresión es None, deflate o snappy.
Si copia datos en DelimitedText, en el receptor de la actividad de copia,
fileExtensiondebe ser ".csv".La conversión de tipos no está habilitada en la asignación de la actividad de copia.
Copia almacenada provisionalmente desde Azure Databricks
Cuando el formato o el almacén de datos del receptor no coincide con los criterios de copia directa, como se menciona en la última sección, habilite la copia preconfigurada integrada con una instancia intermedia de Azure Storage. La funcionalidad de copia en etapas también proporciona un mejor rendimiento. El servicio exporta datos de Azure Databricks al almacenamiento provisional y, a continuación, copia los datos en el receptor y, por último, limpia los datos temporales del almacenamiento provisional.
Para usar esta característica, cree una instancia de Azure Blob Storage o Azure Data Lake Storage Gen2 que haga referencia a la cuenta de almacenamiento como almacenamiento provisional. Luego especifique las propiedades enableStaging y stagingSettings en la actividad de copia.
Nota:
Las credenciales de la cuenta de almacenamiento provisional deben estar configuradas previamente en la configuración de clúster de Azure Databricks. Obtenga más información sobre los Requisitos previos.
Destino
Las siguientes propiedades son compatibles con Azure Databricks en la pestaña Destino de una actividad de copia.
Las siguientes propiedades son obligatorias:
Conexión: seleccione una conexión de Azure Databricks en la lista de conexiones. Si no existe ninguna conexión, cree una nueva conexión de Azure Databricks.
Catálogo: un catálogo actúa como el contenedor de nivel más alto dentro del marco de catálogo de Unity, lo que le permite organizar los datos en bases de datos y tablas.
Base de datos: seleccione la base de datos en la lista desplegable o escriba la base de datos.
Tabla: especifique el nombre de la tabla para escribir datos. Seleccione la tabla en la lista desplegable o escriba el nombre de la tabla.
En Avanzado, puede especificar los campos siguientes:
Script previo a la copia: especifique un script para que se ejecute la actividad de copia antes de escribir datos en la tabla de destino en cada ejecución. Puede usar esta propiedad para limpiar los datos cargados previamente.
Formato de la marca de tiempo: formatear el tipo de marca de tiempo a una cadena utilizando un formato de marca de tiempo. Los formatos de fecha personalizados siguen los formatos del patrón de datetime. Si no se especifica, el valor predeterminado es
yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX].
Copia directa a Azure Databricks
Si el almacén de datos de origen y el formato cumplen los criterios descritos en esta sección, puede usar la actividad de copia para copiar directamente desde el origen a Azure Databricks. El servicio comprueba la configuración y genera un error en la ejecución de la actividad de copia si no se cumplen los siguientes criterios:
La conexión de origen es Azure Blob Storage o Azure Data Lake Storage Gen2. Las credenciales de la cuenta deben estar configuradas previamente en la configuración de clúster de Azure Databricks. Obtenga más información sobre los Requisitos previos.
El formato de datos de origen es de Parquet, DelimitedText o Avro con las siguientes configuraciones y apunta a una carpeta en lugar de a un archivo.
- Para el formato Parquet , el códec de compresión es None, snappy o gzip.
- Para el formato DelimitedText :
-
rowDelimiteres el valor predeterminado, o cualquier carácter individual. -
compressionpuede ser None, bzip2, gzip. - No se admite
encodingNamecon el valor UTF-7.
-
- Para el formato Avro , el códec de compresión es None, deflate o snappy.
En el origen de la actividad de copia:
-
wildcardFileNamesolo contiene caracteres*comodín, pero ningún?y no se especifica el valor dewildcardFolderName. -
prefix,modifiedDateTimeStart,modifiedDateTimeEndyenablePartitionDiscoveryno se especifican.
-
La conversión de tipos no está habilitada en la asignación de la actividad de copia.
Copia almacenada provisionalmente en Azure Databricks
Cuando el formato o el almacén de datos del origen no coincide con los criterios de copia directa, como se menciona en la última sección, habilite la copia preconfigurada integrada con una instancia intermedia de Azure Storage. La funcionalidad de copia en etapas también proporciona un mejor rendimiento. El servicio convierte automáticamente los datos para cumplir los requisitos de formato de datos en el almacenamiento provisional y, a continuación, carga los datos en Azure Databricks desde allí. Por último, limpia los datos temporales del almacenamiento.
Para usar esta característica, cree una instancia de Azure Blob Storage o Azure Data Lake Storage Gen2 que haga referencia a la cuenta de almacenamiento como almacenamiento provisional. Luego especifique las propiedades enableStaging y stagingSettings en la actividad de copia.
Nota:
Las credenciales de la cuenta de almacenamiento provisional deben estar configuradas previamente en la configuración de clúster de Azure Databricks. Obtenga más información sobre los Requisitos previos.
Cartografía
Para la configuración de la pestañaAsignación, vaya a Configurar las asignaciones en la pestaña asignación .
Configuración
Para la configuración de la pestaña Configuración, vaya a Configurar los otros parámetros en la pestaña configuración.
Resumen de tabla
Las tablas siguientes contienen más información sobre una actividad de copia en Azure Databricks.
Información de origen
| Nombre | Descripción | Importancia | Obligatorio | Propiedad de script JSON |
|---|---|---|---|---|
| Conexión | Tu conexión con el almacén de datos de origen. | < tu conexión de Azure Databricks > | Sí | conexión |
| Usar consulta | La manera de leer datos. Aplique Table para leer datos de la tabla especificada o aplicar Query para leer datos mediante consultas. | • Tabla • Consulta |
No | / |
| Para Tabla | ||||
| Catálogo | Un catálogo actúa como el contenedor de nivel más alto dentro del marco de catálogo de Unity, lo que le permite organizar los datos en bases de datos y tablas. | < tu catálogo > | No (elija el catálogo predeterminado si es null) | catalog |
| Base de datos | La base de datos que usa como origen. | < su base de datos > | No | base de datos |
| Tabla | Tu tabla de datos de origen para la lectura de datos. | < nombre de la tabla > | No | tabla |
| Para realizar una consulta | ||||
| Consulta | Especifique la consulta SQL para leer los datos. Para el control de viaje en el tiempo, use el siguiente patrón: - SELECT * FROM events TIMESTAMP AS OF timestamp_expression- SELECT * FROM events VERSION AS OF version |
< su consulta> | No | consulta |
| Formato de fecha | Da formato de tipo date con formato de fecha a una cadena. Los formatos de fecha personalizados siguen los formatos del patrón de datetime. Si no se especifica, el valor predeterminado es yyyy-MM-dd. |
< tu formato de fecha > | No | formatoFecha |
| Formato de la marca de tiempo | Da formato de tipo timestamp con formato de marca de tiempo a una cadena. Los formatos de fecha personalizados siguen los formatos del patrón de datetime. Si no se especifica, el valor predeterminado es yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]. |
< formato de marca de tiempo > | No | formato de marca de tiempo |
Información de destino
| Nombre | Descripción | Importancia | Obligatorio | Propiedad de script JSON |
|---|---|---|---|---|
| Conexión | Su conexión al almacén de datos de destino. | < tu conexión de Azure Databricks > | Sí | conexión |
| Catálogo | Un catálogo actúa como el contenedor de nivel más alto dentro del marco de catálogo de Unity, lo que le permite organizar los datos en bases de datos y tablas. | < su catálogo > | No (elija el catálogo predeterminado si es null) | catalog |
| Base de datos | Tu base de datos que utilizas como destino. | < su base de datos > | Sí | base de datos |
| Tabla | Tabla de datos de destino para escribir datos. | < nombre de la tabla > | Sí | tabla |
| Script de copia previa | Especifique un script para que se ejecute la actividad de copia antes de escribir datos en la tabla de destino en cada ejecución. Puede usar esta propiedad para limpiar los datos cargados previamente. | < el script de copia previa> | No | preCopyScript |
| Formato de la marca de tiempo | Da formato de tipo timestamp con formato de marca de tiempo a una cadena. Los formatos de fecha personalizados siguen los formatos del patrón de datetime. Si no se especifica, el valor predeterminado es yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]. |
< formato de marca de tiempo > | No | formato de marca de tiempo |