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.
APPLIES TO:
Azure Data Factory
Azure Synapse Analytics
Sugerencia
Data Factory en Microsoft Fabric es la próxima generación de Azure Data Factory, con una arquitectura más sencilla, inteligencia artificial integrada y nuevas características. Si no está familiarizado con la integración de datos, comience con Fabric Data Factory. Las cargas de trabajo de ADF existentes pueden actualizarse a Fabric para acceder a nuevas funcionalidades en ciencia de datos, análisis en tiempo real e informes.
Siga este artículo cuando quiera analizar los archivos ORC o escribir los datos en formato ORC.
El formato ORC es compatible con los siguientes conectores: Amazon S3, Amazon S3 Compatible Storage, Azure Blob, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Azure Files, File System, FTP, Google Cloud Storage, HDFS, HTTP, Oracle Cloud Storage y SFTP.
Propiedades del conjunto de datos
Si desea ver una lista completa de las secciones y propiedades disponibles para definir conjuntos de datos, consulte el artículo sobre conjuntos de datos. En esta sección se proporciona una lista de las propiedades compatibles con el conjunto de datos de ORC.
| Propiedad | Descripción | Obligatorio |
|---|---|---|
| type | La propiedad type del conjunto de datos debe establecerse en Orc. | Sí |
| ubicación | Configuración de ubicación de los archivos. Cada conector basado en archivos tiene su propio tipo de ubicación y propiedades compatibles en location.
Consulte los detalles en el artículo de conectores -> sección de propiedades del conjunto de datos. |
Sí |
| compressionCodec | Códec de compresión que se usará al escribir en archivos ORC. Al realizar la lectura desde archivos ORC, las instancias de Data Factory determinan automáticamente el códec de compresión basado en los metadatos del archivo. Los tipos admitidos son none, zlib, snappy (valor predeterminado) y lzo. Tenga en cuenta que actualmente actividad de copia no admite LZO cuando los archivos ORC de lectura y escritura. |
No |
A continuación se muestra un ejemplo del conjunto de datos ORC en Azure Blob Storage:
{
"name": "OrcDataset",
"properties": {
"type": "Orc",
"linkedServiceName": {
"referenceName": "<Azure Blob Storage linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, retrievable during authoring > ],
"typeProperties": {
"location": {
"type": "AzureBlobStorageLocation",
"container": "containername",
"folderPath": "folder/subfolder",
}
}
}
}
Tenga en cuenta los siguientes puntos:
- Actualmente, los tipos de datos complejos (por ejemplo, MAP, LIST, STRUCT) solo se admiten en los flujos de datos, no en la actividad de copia. Para usar tipos complejos en flujos de datos, no importe el esquema de archivo en el conjunto de datos y deje el esquema en blanco en el conjunto de datos. A continuación, en la transformación de origen, importe la proyección.
- No se admiten espacios en blanco en el nombre de columna.
propiedades de actividad de copia
Si desea ver una lista completa de las secciones y propiedades disponibles para definir actividades, consulte el artículo sobre canalizaciones. En esta sección se proporciona una lista de las propiedades compatibles con el receptor y el origen de ORC.
ORC como origen
En la sección *source* de la actividad de copia se admiten las siguientes propiedades.
| Propiedad | Descripción | Obligatorio |
|---|---|---|
| type | La propiedad type del origen de la actividad de copia debe establecerse en OrcSource. | Sí |
| storeSettings | Un grupo de propiedades sobre cómo leer datos de un almacén de datos. Cada conector basado en archivos tiene su propia configuración de lectura admitida en storeSettings.
See details in connector article -> actividad de copia properties section. |
No |
ORC como receptor
En la sección *sink* de la actividad de copia se admiten las siguientes propiedades.
| Propiedad | Descripción | Obligatorio |
|---|---|---|
| type | La propiedad type del receptor de la actividad de copia debe establecerse en OrcSink. | Sí |
| formatSettings | Un grupo de propiedades. Consulte la tabla Configuración de escritura de ORC a continuación. | No |
| storeSettings | Un grupo de propiedades sobre cómo escribir datos en un almacén de datos. Cada conector basado en archivos tiene su propia configuración de escritura admitida en storeSettings.
See details in connector article -> actividad de copia properties section. |
No |
Configuración de escritura de ORC compatible en formatSettings:
| Propiedad | Descripción | Obligatorio |
|---|---|---|
| type | La propiedad type de formatSettings debe establecerse en OrcWriteSettings. | Sí |
| maxRowsPerFile | Al escribir datos en una carpeta, puede optar por escribir en varios archivos y especificar el número máximo de filas por archivo. | No |
| fileNamePrefix | Se aplica cuando se configura maxRowsPerFile.Especifique el prefijo de nombre de archivo al escribir datos en varios archivos, lo que da como resultado este patrón: <fileNamePrefix>_00000.<fileExtension>. Si no se especifica, el prefijo de nombre de archivo se generará automáticamente. Esta propiedad no se aplica cuando el origen es un almacén basado en archivos o un almacén de datos habilitado para la opción de partición. |
No |
Propiedades de Asignación de instancias de Data Flow
En los flujos de datos de asignación, puede leer y escribir en formato ORC en los siguientes almacenes de datos: Azure Blob Storage, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2 y SFTP, y puede leer el formato ORC en Amazon S3.
Puede apuntar a archivos ORC mediante un conjunto de datos de ORC o mediante un conjunto de datos alineado.
Propiedades de origen
En la tabla siguiente se enumeran las propiedades que admite un origen ORC. Puede editar estas propiedades en la pestaña Source options (Opciones de origen).
Al usar un conjunto de valores alineados, verá configuraciones de archivo adicionales que son iguales a las propiedades descritas en la sección Propiedades del conjunto de datos.
| Nombre | Descripción | Obligatorio | Valores permitidos | Propiedad de script de flujo de datos |
|---|---|---|---|---|
| Formato | El formato debe ser orc. |
sí | orc |
format |
| Rutas de acceso comodín | Se procesarán todos los archivos que coincidan con la ruta de acceso comodín. Reemplaza a la carpeta y la ruta de acceso del archivo establecidas en el conjunto de datos. | no | String[] | wildcardPaths |
| Ruta de acceso raíz de la partición | En el caso de datos de archivos con particiones, puede especificar una ruta de acceso raíz de la partición para leer las carpetas con particiones como columnas. | no | String | partitionRootPath |
| Lista de archivos | Si el origen apunta a un archivo de texto que enumera los archivos que se van a procesar. | no |
true o false |
fileList |
| Columna para almacenar el nombre de archivo | Se crea una nueva columna con el nombre y la ruta de acceso del archivo de origen. | no | String | rowUrlColumn |
| Después de finalizar | Se eliminan o mueven los archivos después del procesamiento. La ruta de acceso del archivo comienza en la raíz del contenedor. | no | Borrar: true o false Mover: [<from>, <to>] |
purgeFiles moveFiles |
| Filtrar por última modificación | Elija si desea filtrar los archivos en función de cuándo se modificaron por última vez. | no | Marca de tiempo | modifiedAfter modifiedBefore |
| No permitir que se encuentren archivos | Si es true, no se devuelve un error si no se encuentra ningún archivo. | no |
true o false |
ignoreNoFilesFound |
Ejemplo de origen
El script de flujo de datos asociado de una configuración de origen de ORC es:
source(allowSchemaDrift: true,
validateSchema: false,
rowUrlColumn: 'fileName',
format: 'orc') ~> OrcSource
Propiedades del receptor
En la tabla siguiente se enumeran las propiedades que admite un receptor ORC. Puede editar estas propiedades en la pestaña Configuración.
Al usar un conjunto de valores alineados, verá configuraciones de archivo adicionales que son iguales a las propiedades descritas en la sección Propiedades del conjunto de datos.
| Nombre | Descripción | Obligatorio | Valores permitidos | Propiedad de script de flujo de datos |
|---|---|---|---|---|
| Formato | El formato debe ser orc. |
sí | orc |
format |
| Borrar la carpeta | Si la carpeta de destino se borra antes de escribir. | no |
true o false |
truncate |
| Opción de nombre de archivo | El formato de nombre de los datos escritos. De forma predeterminada, un archivo por partición en formato part-#####-tid-<guid>. |
no | Patrón: Cadena Por partición: Cadena[] Como datos de columna: Cadena Salida en un solo archivo: ['<fileName>'] |
filePattern partitionFileNames rowUrlColumn partitionFileNames |
Ejemplo de receptor
El script de flujo de datos asociado de una configuración de receptor de ORC es:
OrcSource sink(
format: 'orc',
filePattern:'output[n].orc',
truncate: true,
allowSchemaDrift: true,
validateSchema: false,
skipDuplicateMapInputs: true,
skipDuplicateMapOutputs: true) ~> OrcSink
Uso de Integration Runtime autohospedados
Importante
Para copiar habilitado por Integration Runtime autohospedado, por ejemplo, entre almacenes de datos locales y en la nube, si no va a copiar archivos ORC as-is, Debe instalar el 64 bits JRE 8 (entorno en tiempo de ejecución de Java) o OpenJDK y Microsoft Paquete redistribuible de Visual C++ 2010 en el equipo de IR. Consulte el párrafo siguiente para más información.
Para la copia que se ejecuta en IR autohospedado con serialización o deserialización de archivos ORC, el servicio busca primero el entorno de ejecución de Java comprobando primero el registro (SOFTWARE\JavaSoft\Java Runtime Environment\{Current Version}\JavaHome) para JRE, si no se encuentra, comprobando la variable del sistema JAVA_HOME para OpenJDK.
- Para usar JRE: el IR de 64 bits necesita JRE de 64 bits. Puede encontrarlo aquí.
- Para usar OpenJDK: se admite desde la versión 3.13 de IR. Empaquete jvm.dll con todos los demás ensamblados de OpenJDK necesarios en la máquina del IR autohospedado y establezca la variable de entorno del sistema JAVA_HOME en el valor que corresponda.
- Para instalar el paquete Visual C++ 2010 Redistributable: el paquete Visual C++ 2010 Redistributable no se instala con las instalaciones de IR autohospedadas. Puede encontrarlo aquí.
Sugerencia
Si copia datos al formato ORC o desde él mediante Integration Runtime autohospedado y aparece un error que indica "Error al invocar java, mensaje: java.lang. OutOfMemoryError:Java espacio de montón", puede agregar una variable de entorno _JAVA_OPTIONS en la máquina que hospeda el IR autohospedado para ajustar el tamaño mínimo/máximo del montón para JVM para habilitar dicha copia y, a continuación, volver a ejecutar la canalización.
Ejemplo: establecimiento de la variable _JAVA_OPTIONS con el valor -Xms256m -Xmx16g. La marca Xms especifica el grupo de asignación de memoria inicial para una máquina virtual (JVM) de Java, mientras que Xmx especifica el grupo de asignación de memoria máximo. Esto significa que JVM se iniciará con la cantidad de memoria Xms y podrá utilizar Xmx como máximo. De manera predeterminada, el servicio usa un mínimo de 64 MB y un máximo de 1G.
Contenido relacionado
- Información general de actividad de copia
- Actividad de búsqueda
- Actividad GetMetadata