为 Hive 到 Teradata 配置非本机表 - Teradata QueryGrid

Teradata® QueryGrid™ 安装和用户指南

Product
Teradata QueryGrid
Release Number
2.19
Published
2022 年 7 月
Language
中文 (简体)
Last Update
2022-08-23
dita:mapPath
zh-CN/jpf1654813554544.ditamap
dita:ditavalPath
ft:empty
dita:id
lxg1591800469257
Product Category
Analytical Ecosystem
Hive 存储处理程序框架用于 Teradata QueryGrid Hive 发起程序连接器。存储处理程序允许 Hive 访问存储在其他系统上的数据。使用存储处理程序创建的 Hive 表称为非本机表。

Hive 存储处理程序在表级别运行,因此必须为每个远程表创建一个非本机表,这与在数据库级别运行的 Teradata 外部服务器和 Presto 目录不同。

在以下步骤提供的示例中,将配置一个非本机表,使其能用于 Hive 到 Teradata 链接。

  1. QueryGrid 门户组件中配置 Hive 到 Teradata 链接的链接属性。
  2. 登录到 Hive 客户端,如 Beeline。
  3. 将 hive-loaderfactory JAR 添加到类路径:
    add jar /opt/teradata/tdqg/connector/tdqg-hive-connector/version/lib/hive-loaderfactory-version.jar;

    还有其他方法可以将 JAR 添加到 Hive 类路径,其中一种方法是设置 HIVE_AUX_JARS_PATH

    最后一种方法通常要求重新启动 Hive。如果使用 Hadoop 的 Cloudera 实现并启用了 Sentry,该方法可能是唯一可供使用的选项,因为 Sentry 不允许使用 ADD JAR 命令。
  4. 使用 Hive 存储处理程序创建非本机表。例如:
    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");
    CREATE TABLE 语句中没有列定义,因为列定义是由序列化程序和反序列化程序 (SerDe) 动态推断出来的。

    表属性子句包含远程表的完全限定名称;例如,database.schema.table、schema.table 以及 table。如果省略任一部分,将使用缺省值(在连接器属性中指定)。