2.15 - Configuración de una tabla no nativa para un enlace de Hive a Teradata - Teradata QueryGrid

Teradata® QueryGrid™ Guía de instalación y uso

Product
Teradata QueryGrid
Release Number
2.15
Release Date
Marzo de 2021
Content Type
Administración
Configuración
Guía del usuario
Instalación
Publication ID
B035-5991-031K-ESN
Language
Español (España)
El marco de controladores de almacenamiento de Hive se utiliza para el conector de iniciador de Hive Teradata QueryGrid. Los controladores de almacenamiento permiten que Hive acceda a los datos almacenados en otros sistemas. Las tablas de Hive creadas mediante un controlador de almacenamiento se denominan "tablas no nativas".

Los controladores de almacenamiento de Hive operan a nivel de tabla, por lo que se debe crear una tabla no nativa para cada tabla remota, a diferencia de los servidores externos de Teradata y los catálogos de Presto que operan a nivel de la base de datos.

Los siguientes pasos son un ejemplo de configuración de una tabla no nativa con el fin de usarla con un enlace de Hive a Teradata.

  1. Establezca las propiedades de enlace para el enlace de Hive a Teradata en el portlet QueryGrid.
  2. Inicie sesión en un cliente de Hive como Beeline.
  3. Agregue el JAR de hive-loaderfactory a la ruta de la clase:
    add jar /opt/teradata/tdqg/connector/tdqg-hive-connector/version/lib/hive-loaderfactory-version.jar;

    Hay otras maneras de agregar archivos JAR a la ruta de la clase de Hive, como por ejemplo configurar HIVE_AUX_JARS_PATH.

    El último enfoque suele requerir un reinicio de Hive. Si está utilizando una implementación de Cloudera de Hadoop y Sentry está habilitado, esta puede ser la única opción disponible para usar, porque Sentry no permite el uso de los comandos ADD JAR.
  4. Utilice un controlador de almacenamiento de Hive para crear la tabla no nativa. Por ejemplo:
    CREATE EXTERNAL TABLE cardata_remote
    ROW FORMAT SERDE 'com.teradata.querygrid.qgc.hive.QGSerDe'
    STORED BY'com.teradata.querygrid.qgc.hive.QGStorageHandler'
    TBLPROPERTIES (
    "link"="hive_to_td_link",
    "version"="active",
    "table"="ut1.cardata");
    No hay ninguna definición de columna en la sentencia CREATE TABLE porque el serializador y el deserializador (SerDe) infieren directamente la definición de columna.

    La cláusula de propiedad de tabla contiene el nombre completo de la tabla remota; por ejemplo, database.schema.table, schema.table y table. Si se omite cualquier parte, se usarán los valores predeterminados (especificados en las propiedades del conector).