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 de datos para copiar datos desde y hacia Teradata.
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
Sugerencia
Para cargar datos desde Teradata de manera eficaz con la creación de particiones de datos, obtenga más información en la sección Copia en paralelo desde Teradata.
Las siguientes propiedades son compatibles con Teradata en la pestaña Origen de una actividad de copia.
Se requieren las siguientes propiedades:
Conexión: seleccione una conexión de Teradata en la lista de conexiones. Si no existe ninguna conexión, cree una nueva conexión de Teradata.
Usar consulta: seleccione Tabla o Consulta.
Si selecciona Tabla:
- Tabla: especifique el nombre de la tabla en Teradata para leer los datos. Seleccione la tabla en la lista desplegable o seleccione Escribir manualmente para introducir el nombre de la tabla y el esquema.
Si selecciona Consulta:
En Avanzado, puede especificar los siguientes campos:
Opción de partición: especifica las opciones de creación de particiones de datos que se usan para cargar datos de Teradata. Los valores permitidos son: None (valor predeterminado), DynamicRange y Hash. Cuando se habilita una opción de partición (es decir, no
None
), el grado de paralelismo para cargar datos simultáneamente desde Teradata se controla mediante el grado de paralelismo de copia en la pestaña configuración de la actividad de copia.Ninguno: elija esta opción para no usar una partición.
Intervalo dinámico: cuando se usa una consulta con habilitado en paralelo, se necesita el parámetro de partición de intervalo(
?DfDynamicRangePartitionCondition
). Consulta de ejemplo:SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition
.Nombre de la columna de origen: especifique el nombre de la columna de origen de tipo entero o fecha/hora (
int
,smallint
,bigint
,date
,smalldatetime
,datetime
,datetime2
odatetimeoffset
) que usa la partición de rangos para la copia paralela. Si no se especifica, el índice o la clave principal de la tabla se detectan automáticamente y se usan como columna de partición.Límite superior de partición: especifique el valor máximo de la columna de partición para la división del intervalo de particiones. Este valor se utiliza para determinar el intervalo de partición, no para filtrar las filas de la tabla. Todas las filas de la tabla o el resultado de la consulta se particionan y copian.
Límite inferior de partición: especifique el valor mínimo de la columna de partición para la división del intervalo de particiones. Este valor se utiliza para determinar el intervalo de partición, no para filtrar las filas de la tabla. Todas las filas de la tabla o el resultado de la consulta se particionan y copian.
Hash: Cuando se usa la consulta con la opción de procesamiento en paralelo habilitada, se necesita el parámetro de partición hash (
?AdfHashPartitionCondition
). Consulta de ejemplo:select * from <TableName> where ?AdfHashPartitionCondition
.Nombre de la columna de origen: especifique el nombre de la columna de origen de tipo entero o fecha/hora (
int
,smallint
,bigint
,date
,smalldatetime
,datetime
,datetime2
odatetimeoffset
) que usa la partición de rangos para la copia paralela. Si no se especifica, el índice o la clave principal de la tabla se detectan automáticamente y se usan como columna de partición.
Columnas adicionales: agregue más columnas de datos para almacenar la ruta de acceso relativa o el valor estático de los archivos de origen. La expresión se admite para este último.
Destino
Las siguientes propiedades son compatibles con Teradata en la pestaña Destino de una actividad de copia.
Se requieren las siguientes propiedades:
Conexión: seleccione una conexión de Teradata en la lista de conexiones. Si no existe ninguna conexión, cree una nueva conexión de Teradata.
Tabla: especifique el nombre de la tabla en Teradata para escribir datos. Seleccione la tabla en la lista desplegable o seleccione Escribir manualmente para introducir el nombre de la tabla y el esquema.
En Avanzado, puede especificar los siguientes campos:
- Opciones de formato de Teradata adicionales: especifique opciones de formato adicionales que se usarán en la instrucción COPY para cargar datos. Ejemplos: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Para obtener más información, vea Formato DATE de Teradata. Esta propiedad solo funciona para la copia directa desde el origen de formato DelimitedText a Teradata.
Copia directa a Teradata
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 Teradata. El servicio comprueba la configuración y no ejecuta la actividad de copia si no se cumplen los siguientes criterios:
La conexión de origen es Azure Blob Storage y Azure Data Lake Storage Gen2 con clave de cuenta y autenticación de firma de acceso compartido .
El formato de datos de origen es Parquet y DelimitedText con las siguientes configuraciones:
Para el formato Parquet , el códec de compresión es None o Snappy.
Para el formato DelimitedText :
rowDelimiter
es \n.compression
puede ser sin compresión o gzip. Si se selecciona la compresión gzip , el archivo debe terminar con la extensión .gz.encodingName
se deja como predeterminado o se establece en UTF-8.quoteChar
es comillas dobles"
o cadena vacía.escapeChar
es comillas dobles"
o cadena vacía.nullValue
es Null o cadena vacía.
En el origen de la actividad de copia:
- Solo se permite la ruta de acceso estática al usar Azure Data Lake Storage Gen2.
- Solo se permite la ruta de acceso estática y
prefix
cuando se usa Azure Blob Storage.
Las rutas de acceso estáticas servirán como prefijos cuando se copian en Teradata.
Copia almacenada provisionalmente en Teradata
Cuando el almacén de datos de origen o el formato no son compatibles de forma nativa con el comando COPY de Teradata, como se mencionó en la última sección, habilite la copia preconfigurada integrada mediante una instancia provisional de Azure Blob 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 de Teradata. A continuación, invoca el comando COPY para cargar datos en Teradata. Por último, limpie los datos temporales del almacenamiento de blobs.
Para usar esta característica, cree una conexión de Azure Blob Storage que haga referencia a la cuenta de Azure Storage como almacenamiento provisional. Luego especifique las propiedades enableStaging
y stagingSettings
en la actividad de copia.
Nota:
La conexión de almacenamiento temporal de Azure Blob Storage debe usar la clave de cuenta o la autenticación de firma de acceso compartido, según lo requiere el comando COPY de Teradata.
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ñaConfiguración, vaya a Configurar los otros parámetros en la pestaña configuración.
Copia en paralelo desde Teradata
El conector de Teradata proporciona la creación de particiones de datos integrados para copiar datos de Teradata en paralelo. Puede encontrar las opciones de creación de particiones de datos en la pestaña Origen de la actividad de copia.
Al habilitar la copia con particiones, el servicio ejecuta consultas en paralelo en el origen de Teradata para cargar los datos mediante particiones. El grado paralelo se controla mediante el grado de paralelismo de copia en la pestaña configuración de la actividad de copia. Por ejemplo, si establece Grado de paralelismo de copia en cuatro, el servicio genera y ejecuta simultáneamente cuatro consultas en función de la configuración y la opción de partición especificadas, y cada consulta recupera una parte de los datos de su Teradata.
Es recomendable que habilite la copia en paralelo con la creación de particiones de datos, especialmente si carga grandes cantidades de datos de Teradata. A continuación se sugieren configuraciones para diferentes escenarios. Al copiar datos en el almacén de datos basado en archivos, se recomienda escribir en una carpeta como varios archivos (solo especificar el nombre de carpeta), en cuyo caso el rendimiento es mejor que escribir en un solo archivo.
Escenario | Configuración sugerida |
---|---|
Carga completa de una tabla grande. | Opción de partición: hash. Durante la ejecución, el servicio detecta automáticamente la columna de índice principal, le aplica un hash y copia los datos mediante particiones. |
Cargue grandes cantidades de datos mediante una consulta personalizada. | Opción de partición: hash. Consulta: SELECT * FROM <TABLENAME> WHERE ?AdfHashPartitionCondition AND <your_additional_where_clause> .Columna de partición: especifique la columna usada para aplicar la partición hash. Si no se especifica, el servicio detecta automáticamente la columna PK de la tabla especificada en los datos de Teradata. Durante la ejecución, el servicio reemplaza ?AdfHashPartitionCondition por la lógica de partición hash y la envía a Teradata. |
Carga de grandes cantidades de datos mediante una consulta personalizada, con una columna de enteros con valor distribuido uniformemente para la creación de particiones por rangos. | Opciones de partición: partición de intervalo dinámico. Consulta: SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause> .Columna de partición: especifique la columna usada para crear particiones de datos. Puede crear particiones en la columna con un tipo de datos entero. Límite de partición superior y límite de partición inferior: especifique si quiere filtrar en la columna de partición para recuperar solo los datos entre el intervalo inferior y el superior. Durante la ejecución, el servicio reemplaza ?AdfRangePartitionColumnName , ?AdfRangePartitionUpbound y ?AdfRangePartitionLowbound por el nombre real de la columna y los rangos de valores de cada partición y se los envía a Teradata. Por ejemplo, si establece la columna de partición "ID" con un límite inferior de 1 y un límite superior de 80, con la copia en paralelo establecida en 4, el servicio recupera los datos de 4 particiones. Los identificadores están comprendidos entre [1, 20], [21, 40], [41, 60] y [61, 80] respectivamente. |
Ejemplo: consulta con partición hash
"source": {
"type": "TeradataSource",
"query": "SELECT * FROM <TABLENAME> WHERE ?AdfHashPartitionCondition AND <your_additional_where_clause>",
"partitionOption": "Hash",
"partitionSettings": {
"partitionColumnName": "<hash_partition_column_name>"
}
}
Ejemplo: consulta con partición por rangos dinámica
"source": {
"type": "TeradataSource",
"query": "SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>",
"partitionOption": "DynamicRange",
"partitionSettings": {
"partitionColumnName": "<dynamic_range_partition_column_name>",
"partitionUpperBound": "<upper_value_of_partition_column>",
"partitionLowerBound": "<lower_value_of_partition_column>"
}
}
Resumen de tabla
Las tablas siguientes contienen más información sobre una actividad de copia en Teradata.
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. | < su conexión de Teradata > | Sí | connection |
Usar consulta | La manera de leer datos de Teradata. Aplique Table para leer datos de la tabla especificada o aplicar Query para leer datos mediante consultas. | • Tabla • Consulta |
No | / |
Para Tabla | ||||
nombre de esquema | Nombre del esquema. | < nombre de esquema > | No | esquema |
nombre de tabla | Nombre de la tabla. | < nombre de la tabla > | No | tabla |
Para Consulta | ||||
Consulta | Use la consulta SQL personalizada para leer los datos. | < Consultas SQL > | No | query |
Opción de partición | Las opciones de creación de particiones de datos usadas para cargar datos desde Teradata. | • Ninguno • Rango dinámico • Hash |
No | / |
Para Rango dinámico | ||||
Nombre de columna de partición | Especifique el nombre de la columna de origen en entero o date/datetime tipo (int , smallint , bigint , date , smalldatetime , datetime , datetime2 , o datetimeoffset ) que se usa mediante la creación de particiones de intervalo para la copia en paralelo.Si no se especifica, el índice o la clave principal de la tabla se detectan automáticamente y se usan como columna de partición. |
< los nombres de columna de partición > | No | partitionColumnName |
Límite superior de partición | Especifique el valor máximo de la columna de partición para la división del rango de partición. Este valor se utiliza para determinar el intervalo de partición, no para filtrar las filas de la tabla. Todas las filas de la tabla o el resultado de la consulta se particionan y copian. | < límite superior de partición > | No | partitionUpperBound |
Límite inferior de partición | Especifique el valor mínimo de la columna de partición para la división del rango de partición. Este valor se utiliza para determinar el intervalo de partición, no para filtrar las filas de la tabla. Todas las filas de la tabla o el resultado de la consulta se particionan y copian. | < límite inferior de partición > | No | partitionLowerBound |
Para Hash | ||||
Nombre de columna de partición | Especifique el nombre de la columna de origen en tipo entero o fecha/datetime (int , smallint , bigint , date , smalldatetime , datetime , o datetime2 , datetimeoffset ) que utiliza el particionamiento por rangos para la copia paralela.Si no se especifica, el índice o la clave principal de la tabla se detectan automáticamente y se usan como columna de partición. |
< los nombres de columna de partición > | No | partitionColumnName |
Columnas adicionales | Agregue columnas de datos adicionales para almacenar la ruta de acceso relativa o el valor estático de los archivos de origen. La expresión se admite para este último. | •Nombre • Valor |
No | columnas adicionales: • nombre •valor |
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 Teradata > | Sí | connection |
Table | Tabla de datos de destino para escribir datos. | < nombre de la tabla > | Sí | / |
nombre de esquema | Nombre del esquema. | < nombre de esquema > | No | esquema |
nombre de tabla | Nombre de la tabla. | < nombre de la tabla > | No | tabla |
Opciones de formato de Teradata adicionales | Especifique opciones de formato adicionales que se usarán en la instrucción COPY para cargar datos. Ejemplos: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Para obtener más información, vea Formato DATE de Teradata. Esta propiedad solo funciona para la copia directa desde el origen de formato DelimitedText a Teradata. | • DATE_FORMAT • FORMATO_DE_HORA • TIMESTAMP_FORMAT |
No | additionalFormatOptions: • DATE_FORMAT • TIME_FORMAT • TIMESTAMP_FORMAT (Formato de marca de tiempo) |