16.20 - create (Teradata Open Distribution for Hadoop) - Teradata Data Mover

Teradata® Data Mover Guía del usuario

Product
Teradata Data Mover
Release Number
16.20
Published
Noviembre de 2021
Content Type
Guía del usuario
Publication ID
B035-4101-107K-ESN
Language
Español (España)

Propósito

El comando create crea un trabajo en el daemon a partir de los parámetros de sintaxis y de la lista de objetos. Una definición de trabajo consiste en los parámetros y la lista de objetos.

Data Mover permite mover tablas desde Teradata Database hasta Hadoop; también podrá mover tablas de Hive desde Hadoop hasta Teradata Database.

Parámetros: específicos para Hadoop

Los siguientes parámetros son específicos de Hadoop. Algunos de estos parámetros cambian de forma en función del mecanismo utilizado para la transferencia.

Consulte Orden de parámetros.

hadoop_options
Estos parámetros solo se aplican a transferencias de Teradata a Hadoop. Cuando transfiera esa información mediante un archivo .xml, anide las opciones bajo el parámetro.
Opción Descripción
file_options Valores compatibles con el conector de Teradata para Hadoop y SQL-H:
  • Text (predeterminado)
  • RC
  • ORC
file_options_delimiter [Opcional] Especifica un delimitador de caracteres para columnas. Si no se especifica, la coma (",") se utiliza como delimitador. Esta opción solo es aplicable si file_options se define como texto.
number_mappers [Opcional] Especifica el número de asignadores que Teradata Connector utiliza para extraer datos de Teradata Database.
Los parámetros para transferir información equivalente al usar la CLI son los siguientes:
  • hadoop_file_option
  • hadoop_file_delimiter
  • hadoop_number_mappers
source_hadoop_system | target_hadoop_system
Define los sitios de origen o destino, y la información de credenciales de los datos de Hadoop. Estos parámetros son comunes en transferencias de Teradata a Hadoop y de Hadoop a Teradata. Cuando los transfiera mediante un archivo .xml, anide las opciones bajo el parámetro.
Opción Valor Descripción
webhcat_url http://webhcat:50111 Recupera metadatos, tales como bases de datos, tablas, columnas, etc. Para construir la URL, reemplace webhcat por el nombre del sistema en el que reside el servidor de WebHCAT. El puerto predeterminado de WebHCAT es el 50111.1
oozie_url http://oozie:11000 Ejecuta consultas de Hive y trabajos de transferencia de datos del conector de Teradata para Hadoop (TDCH). Para construir la URL, reemplace oozie por el nombre del sistema en el que reside el servidor de Oozie. El puerto predeterminado de Oozie es el 11000.1
file_system_url http://webhdfs:50070 o http://httpfs:14000 Recupera el archivo de configuración almacenado en HDFS para ejecutar trabajos de TDCH y registros generados por los trabajos de TDCH. Especifique WebHDFS REST URL o HttpFS REST URL. El puerto predeterminado para WebHDFS es 50070. El puerto predeterminado para HttpFS es 14000.1
logon_mechanism default o kerberos (Opcional) El protocolo de seguridad para iniciar sesión en el sistema de archivos Hadoop de origen o destino.
hive_user hive o hive_user@hadoop_realm Nombre del usuario que tiene acceso a las tablas en el sistema de archivos Hadoop.

Cuando el mecanismo de inicio de sesión es kerberos, el valor del usuario de Hive debe cumplir la siguiente convención: kerberos_principal@kerberos_realm

hive_password hive_user_password La contraseña del usuario que tiene acceso a las tablas en el sistema de archivos Hadoop de origen o destino.2
hive_password_encrypted hive_user_password_encrypted La contraseña cifrada del usuario que tiene acceso a las tablas en el sistema de archivos Hadoop de origen o destino. No es un parámetro válido si también se especifica hive_password.2
1El valor debe comenzar por http:// e ir seguido del nombre del sistema, o bien de la dirección IP y el número de puerto. Si el mecanismo de inicio de sesión es kerberos, el nombre de host debe ser el nombre de dominio completo.

2Si el mecanismo de inicio de sesión es default, este parámetro es opcional. Si el mecanismo de inicio de sesión es kerberos, este parámetro es necesario y debe ser la contraseña del hive_user.

Los parámetros para transferir información equivalente al usar la CLI son los siguientes:
  • source_hadoop_webhcat_url | target_hadoop_webhcat_url
  • source_hadoop_oozie_url | target_hadoop_oozie_url
  • source_hadoop_file_system_url | target_hadoop_file_system_url
  • source_hive_logon_mechanism | target_hive_logon mechanism
  • source_hive_user | target_hive_user
  • source_hive_password_encrypted | target_hive_password encrypted

Parámetros: comunes

Estos parámetros son comunes en transferencias de Teradata a Hadoop y de Hadoop a Teradata.

Consulte Orden de parámetros.

broker.port
[Opcional] Se puede especificar un puerto de agente para sobrescribir el valor por defecto especificado en el archivo commandline.properties para conectarse a un servidor diferente de ActiveMQ (y, por lo tanto, a un daemon diferente) en tiempo de ejecución.
Ejemplo: 61616
broker.url
[Opcional] Se puede especificar una URL de agente para sobrescribir el valor por defecto especificado en el archivo commandline.properties para conectarse a un servidor diferente de ActiveMQ (y, por lo tanto, a un daemon diferente) en tiempo de ejecución.
Ejemplo: dm-server1
compare_ddl
[Opcional] Especifica si se compararán los DDL de los objetos de origen y de destino especificados.
Valores válidos
  • unspecified (por defecto) se utiliza el valor del parámetro daemon.default.compareDDL.enabled del archivo de configuración del daemon de Data Mover. Si el parámetro se especifica como verdadero o falso, el valor reemplazará el valor del parámetro en el archivo de configuración del daemon de Data Mover.
  • true: los pasos del trabajo no se reproducen cada vez que se inicia el trabajo y se comparan los DDL de origen y de destino.
  • false: los pasos del trabajo se reproducen cada vez que se inicia el trabajo y no se comparan los DDL de origen y de destino.
db_client_encryption
[Opcional] Establecer en true si se debe cifrar el trabajo durante la transferencia de datos.
freeze_job_steps
(Opcional) Bloquea los pasos del trabajo para que no se vuelvan a crear cada que vez que se inicia el trabajo. Solo se debe establecer como true si los entornos de origen y de destino no cambian tras la creación del trabajo.
Valores válidos
  • true: los pasos del trabajo no se vuelven a crear cada que vez que se inicie el trabajo.
  • false: los pasos del trabajo se vuelven a crear cada vez que se inicie el trabajo.
  • unspecified (valor por defecto): el valor se establece como false.
Ejemplo: true
job_name
[Opcional] Nombre para este trabajo. El nombre debe ser único y tener 32 caracteres como máximo.
job_priority
[Opcional] Especifica la prioridad de ejecución del trabajo. Los valores admitidos son: ALTA, MEDIA, BAJA y SIN ESPECIFICAR. Si no se especifica ningún valor, el valor por defecto MEDIA se utilizará en tiempo de ejecución.
Ejemplo: MEDIUM
log_to_event_table
[Opcional] Especifica la tabla de eventos que se usará para este trabajo. Para obtener más información, consulte Uso de tablas de eventos.
overwrite_existing_objects
[Opcional] El trabajo sobrescribe objetos que ya existen en el destino.
Valores válidos
Valor Descripción
true Habilita la sobrescritura
False Deshabilita la sobrescritura
Sin especificar Valor predeterminado: el valor se establece como el valor en el archivo de configuración del daemon de Data Mover
Si el parámetro no se especifica, el valor se establecerá como el valor del parámetro overwrite_existing_objects en el archivo de configuración del Daemon de Data Mover. Si el parámetro se especifica como verdadero o falso, ese valor tendrá prioridad sobre el valor del parámetro en el archivo de configuración del Daemon de Data Mover.
Ejemplo: true
response_timeout
[Opcional] Cantidad de tiempo, en segundos, durante el que espera la respuesta desde el Daemon de Data Mover.
Ejemplo: 60
source_password | target_password
[Opcional] Contraseña de inicio de sesión de Teradata de origen o de destino. No es un parámetro válido si source_password_encrypted | target_password_encrypted se especifica. Si no especifica una contraseña para este parámetro, el comando le solicita que introduzca una de manera interactiva. Las entradas se enmascaran con un número de asteriscos determinado, independientemente de la longitud de la contraseña.
source_password_encrypted | target_password_encrypted
[Opcional] Contraseña cifrada de inicio de sesión de Teradata de origen o de destino. No es un parámetro válido si source_password | target_password se especifica.
source_tdpid | target_tdpid
Teradata Database de origen o de destino.
source_user | target_user
[Opcional] ID de inicio de sesión de Teradata de origen o de destino. Si no especifica un ID de inicio de sesión para este parámetro, el comando le solicita que introduzca uno de manera interactiva.
source_userid_pool | target_userid_pool
[Opcional] El trabajo obtiene el usuario del grupo de credenciales especificado. Solo disponible para sistemas Teradata.
Opción Descripción
source_userid_pool Saca al usuario del sistema Teradata de origen.
target_userid_pool Saca al usuario del sistema Teradata de destino.
Ejemplo: POOL-1
table
Opción Descripción
name Nombre de la tabla que desea mover.
target_name [Opcional] Cambia el nombre de la tabla. Si no se especifica ningún valor, se utilizará el nombre original de la tabla.
target_database [Opcional] Mueve las tablas a una base de datos diferente. Si no se especifica ningún valor, se utilizará la base de datos original como destino.

Parámetros: de Teradata a Hadoop

Estos parámetros solo se utilizan para transferencias de Teradata a Hadoop.

Consulte Orden de parámetros.

force_utility
[Opcional] Obliga al daemon de Data Mover a utilizar una utilidad específica para un trabajo de Teradata a Hadoop. El daemon de Data Mover utiliza SQL-H para mover la tabla. Si SQL-H no puede mover la tabla, se utiliza el conector de Teradata para Hadoop en su lugar.
Valores válidos
  • Default (Data Mover determina si se puede utilizar SQL-H para mover la tabla. De no ser así, se utiliza el conector de Teradata para Hadoop).
  • Hadoop_Connector
  • SQLH
table_columns

[Opcional] Personaliza las columnas de la tabla antes de mover datos a Hadoop. Si la tabla de destino no existe, puede cambiar el nombre de las columnas en el destino. Si ya existe una tabla de destino, el nombre y el tipo de columna deben coincidir con la columna que existe en el destino. Las propiedades de columna de tabla crean la tabla de destino en Hadoop o validan los valores de una tabla existente.

Opción Descripción
name Nombre de la columna que desea modificar
target_name [Opcional] Cambia el nombre de la columna. Si no se especifica ningún valor, se utilizará el nombre original de la columna como el nombre de destino.
target_type [Opcional] Cambia el tipo de columna predeterminado. Si no se especifica ningún valor, se utiliza la asignación predeterminada. Para obtener más información acerca de las asignaciones disponibles y predeterminadas, consulte Asignaciones de tipos de datos.
type Tipo de columna de la tabla. Solo informativo; el usuario no lo puede modificar.
size [Opcional] Cambia el tamaño del tipo de columna, aplicable solo al tipo CHAR. Si no se especifica ningún valor, se utiliza el valor predeterminado [255].
transfer_method
[Opcional] Conector de Teradata para Hadoop que admite estas opciones de transferencia de datos de Teradata a Hadoop.
Opción Descripción
Default Permite que Data Mover seleccione AMP si la base de datos Teradata Database de origen es 14.10 o posterior.
Hash El conector de Hadoop subyacente recupera filas en un rango de valores hash determinado de una columna split-by que se haya especificado a partir de una tabla de origen de Teradata y escribe los registros en un archivo de destino en HDFS.
Value El conector de Hadoop subyacente recupera filas en un rango de valores determinado de una columna split-by que se haya especificado a partir de una tabla de origen de Teradata y escribe los registros en un archivo de destino en HDFS.
Partition El conector de Hadoop subyacente crea una tabla de PPI de transferencia provisional en la base de datos de origen si la tabla de origen no es una tabla de PPI.
AMP El conector de Hadoop subyacente recupera filas en uno o varios AMP a partir de una tabla de origen de Teradata y escribe los registros en un archivo de destino en HDFS. La opción de AMP se admite solamente si la versión es Teradata Database 14.10 o posterior.
use_foreign_server

Con la utilidad T2H, puede especificar un servidor externo que se haya creado previamente para mover datos de Hadoop a Teradata. El servidor externo se utiliza para mover todas las tablas de un trabajo específico.

En el ejemplo siguiente se muestra el uso del comando use_foreign_server con una definición de trabajo para un trabajo de Teradata a Hadoop:
<use_foreign_server> 
        <name>foreign_server</name> 
</use_foreign_server>
Se debe especificar un servidor externo de manera que Data Mover utilice T2H para mover datos de Teradata 15.0 a Hadoop. Si no se especifica un servidor externo y la utilidad de fuerza no es T2H, Data Mover utiliza TDCH en lugar de T2H.

Parámetros: de Hadoop a Teradata

Estos parámetros solo se utilizan para transferencias de Hadoop a Teradata. Algunos de estos parámetros cambian de forma en función del mecanismo utilizado para la transferencia.

Consulte Orden de parámetros.

force_utility
[Opcional] Obliga al Daemon de Data Mover a utilizar una utilidad específica para las operaciones de copia de Hadoop. El Daemon de Data Mover utiliza SQL-H para mover la tabla. Si SQL-H no puede mover la tabla, se utiliza el conector de Teradata para Hadoop en su lugar.
Valores válidos
  • Default (Data Mover determina si se puede utilizar SQL-H para mover la tabla. De no ser así, se utiliza el conector de Teradata para Hadoop.
  • Hadoop_Connector
  • SQLH
size
Si la tabla de destino no existe, asegúrese de que la suma de todas las columnas CHAR/VARCHAR no supera 64000; de lo contrario, se producirá un error en tiempo de ejecución durante el trabajo debido a una limitación de JDBC. Para las columnas con el grupo de caracteres de sesión UNICODE, considere que el valor dobla lo que se indica en el tamaño al calcular la suma del tamaño de todas las columnas. Por ejemplo, si la columna del conjunto de caracteres es UNICODE y el tamaño es 2000, considere el tamaño como 4000.
table_columns
[Opcional] Personaliza las columnas de tabla antes de mover datos a Teradata Database. Para obtener más información acerca de los tipos de datos, consulte Asignaciones de tipos de datos. Si la tabla de destino no existe, puede cambiar el nombre de las columnas en el destino. Si ya existe una tabla de destino, el nombre y el tipo de columna deben coincidir con la columna que existe en el destino. Las propiedades de columna de tabla crean la tabla de destino en Teradata Database o validan los valores de una tabla existente.
Opción Descripción
name Nombre de la columna que desea modificar
size [Opcional] Limita el tamaño de las columnas como VARCHAR.
target_name [Opcional] Cambia el nombre de la columna. Si no se especifica ningún valor, se utilizará el nombre original de la columna como el nombre de destino.
target_type [Opcional] Cambia el tipo de columna predeterminado. Si no se especifica ningún valor, se utiliza la asignación predeterminada. Para obtener más información acerca de las asignaciones disponibles y predeterminadas, consulte Asignaciones de tipos de datos.
type Tipo de columna de la tabla. Solo informativo; el usuario no lo puede modificar.
allowDuplicate [Opcional] Especifica si se admiten valores duplicados en la columna de la tabla de destino (true o false). Absténgase de especificar esta opción, o bien establézcala en false, si isPrimaryIndex es true; de lo contrario, se genera un error.
allowNull [Opcional] Especifica si se admiten valores nulos en la columna de la tabla de destino (true o false). Absténgase de especificar esta opción, o bien establézcala en false, si isPrimaryIndex es true; de lo contrario, se genera un error.
isPrimaryIndex [Opcional] Especifica si se admiten valores nulos en la columna de la tabla de destino (true o false). Si isPrimaryIndex es false y allowNull es true, allowDuplicate no se debe especificar o debe ser false; de lo contrario, se genera un error.
transfer_method 1
(Opcional) Las opciones compatibles con el conector de Teradata para Hadoop para transferir datos de Hadoop a Teradata.
Opción Descripción
Default Data Mover selecciona internal_fastload.
batch_insert El conector de Hadoop subyacente inserta filas en una tabla de transferencia provisional NOPI mediante la ejecución por lotes de JDBC. Una vez que todos los asignadores completen el procesamiento, las filas de la tabla de transferencia provisional se mueven a la tabla de destino mediante la operación Insert-Select SQL.
transfer_batch_insert_size 2 Si se especifica batch_insert como método de transferencia, también se puede especificar este parámetro como un valor que represente el número de filas (por ejemplo, 10000, 50000). Esta propiedad no se aplica cuando se especifica internal_fastload como método de transferencia.
internal_fastload El conector Hadoop subyacente inicia una sesión de FastLoad de base de datos para cargar filas en una única tabla de transferencia provisional NOPI. Todas las sesiones de FastLoad de las bases de datos se coordinan mediante un protocolo interno. El trabajo de FastLoad finaliza una vez que se completa la ejecución de todos los asignadores y cuando las filas de la tabla transferencia provisional NOPI se copian en la tabla de destino mediante la operación Insert-Select SQL.
1En la interfaz de la línea de comandos, este parámetro aparece como hadoop_transfer_method.

2En la interfaz de la línea de comandos, este parámetro aparece como hadoop_transfer_batch_size.

use_foreign_server
En Teradata Database versión 15.0 o posterior, puede especificar un servidor externo que se haya creado previamente para mover datos de Hadoop a Teradata. El servidor externo se utiliza para mover todas las tablas de un trabajo específico.
En el ejemplo siguiente, se muestra el uso del comando use_foreign_server con una definición de trabajo de Hadoop a Teradata.
<use_foreign_server>
       <name>foreign_server</name>
</use_foreign_server>            
Se debe especificar un servidor externo de manera que Data Mover utilice T2H para mover datos de Hadoop a Teradata versión 15.0 o posterior. Si no se especifica un servidor externo, Data Mover utiliza TDCH en lugar de T2H.

Ejemplo de archivo XML

Para el comando create, escriba datamove create -f parameters.xml.

En el ejemplo siguiente, se muestra un archivo de parámetros del comando create con una definición de trabajo de Teradata a Hadoop.
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
 <dmCreate xmlns="http://schemas.teradata.com/dataMover/v2009" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.teradata.com/unity/datamover.xsd">
 <!-- source td credentials -->
     <source_tdpid>dm-agent5</source_tdpid>
     <source_user>ak186010_portlet</source_user>
     <source_password>qwerty</source_password>
     <!-- target hadoop credentials -->
     <target_hadoop_system>
         <webHCat_url>http://webhcat:50111</webHCat_url>
         <oozie_url>http://oozie:11000</oozie_url>
         <file_system_url>http://webhdfs:50070</file_system_url>
         <hive_user>hive</hive_user>
         <hive_password>hive</hive_password>
     </target_hadoop_system>
     <overwrite_existing_objects>true</overwrite_existing_objects>
     <freeze_job_steps>false</freeze_job_steps>
     <target_database><name>ak186010_all</name></target_database>
     <compare_ddl>false</compare_ddl>
     <!-- hadoop specific job options -->
         <hadoop_options>
         <file_options>ORC</file_options>
         <file_options_delimiter>#</file_options_delimiter>
         <transfer_method>hash</transfer_method>
         <number_mappers>10</number_mappers>
     </hadoop_options>
 <!-- object selection. in this case, we are moving ITTest1 from ak186010_portlet
 (td) to default db in hive (hadoop)-->
     <database selection="unselected">
         <name>ak186010_portlet</name>
         <table selection="included">
             <name>Table1</name>
             <target_name>NewTable1</target_name>
             <table_columns>
                 <column>
                     <name>column1</name>
                     <target_name>targetColumn1</target_name>
                     <type>varchar</type>
                     <target_type>string</target_type>
                 </column>
             </table_columns>
         </table>
     </database>
 </dmCreate>            
En el ejemplo siguiente, se muestra un archivo de parámetros del comando create con una definición de trabajo de Hadoop a Teradata.
<dmCreate xmlns="http://schemas.teradata.com/dataMover/v2009" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.teradata.com/unity/datamover.xsd">
    <source_hadoop_system>
        <webHCat_url>http://webhcat:50111</webHCat_url>
        <oozie_url>http://oozie:11000</oozie_url>
        <file_system_url>http://webhdfs:50070</file_system_url>
        <hive_user>ssuser</hive_user>
        <hive_password>sspass</hive_password>
    </source_hadoop_system>
    <target_tdpid>dm-agent3</target_tdpid>
    <target_user>"yye"</target_user>
    <target_password>yye</target_password>
    <overwrite_existing_objects>true</overwrite_existing_objects>
    <force_utility>sqlh</force_utility>
    <freeze_job_steps>false</freeze_job_steps>
    <compare_ddl>false</compare_ddl>   
    <log_level>0</log_level>
    <online_archive>UNSPECIFIED</online_archive>
    <hadoop_options>
        <file_options>text</file_options>
        <file_options_delimiter>|</file_options_delimiter>
        <transfer_method>batch_insert</transfer_method>
        <transfer_batch_insert_size>10000</transfer_batch_insert_size>
        <number_mappers>5</number_mappers>
    </hadoop_options>
    
    <database selection="unselected">
        <name>yye</name>
        <table selection="included">
            <name>test1</name>
            <table_columns>
                <column>
                    <name>c1</name>
                    <target_name>t1</target_name>
                    <type>string</type>
                    <target_type>varchar</target_type>
                    <size>8</size>
                    <charset>UTF8</charset>
                    <allowNull>true</allowNull>
                    <allowDuplicate>false</allowDuplicate>
                    <isPrimaryIndex>true</isPrimaryIndex>
                </column>
            </table_columns>
        </table>
    </database>
</dmCreate>