解决作业问题 - 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
如果发生错误,且没有解释查询失败的原因,请启用日志记录并增加消息计数,以在支持包中收集错误和消息。将支持包发送到 QueryGrid 管理器以进行故障排除。有关启用日志记录级别的信息,请参阅日志记录和错误处理

Teradata Connector

以下错误来源于发起 Teradata 系统。
问题说明 错误消息 解决方案
发起程序系统上未正确配置允许的操作系统用户。 QGInitiatorExportContract: 2689: (NO UUID YET) IMeta : Unauthorized connection [user='teradata'(uid=14)] to QueryGrid Fabric. Add user to allowed OS users for connector 更新发起程序连接器上允许的操作系统用户。有关更多信息,请参见Teradata QueryGrid 安全
目标系统上未正确配置允许的操作系统用户。 QGII: 64179: (aaab4f7a-26ce-4356-bd43-b88e059e90f8) Unauthorized connection [user='teradata'(uid=14)] to QueryGrid Fabric. Add user to allowed OS users for connector 更新目标连接器上允许的操作系统用户。有关更多信息,请参见Teradata QueryGrid 安全
发起程序系统上的系统内存不足。 QGII: 64179: (c4525b40-2947-407e-b091-869cb4c69545) sdt35957 : IImp : Maximum memory per node (10485760) exceeded. Increase maximum for QueryGrid system 增加发起系统的Max memory per node
目标系统上的系统内存不足。 QGIE: 64179: (d333ddfc-a2d8-4d43-a68a-b71c0307ef91) Maximum memory per node (10485760) exceeded. Increase maximum for QueryGrid system 增加目标系统的Max memory per node
(链接缓冲区大小 * 链接缓冲区)计数高于允许值。 QGIE: 64179: (df8f1231-dbc9-493c-937d-360ec52ae3be) sdt35957 : IExp : Requested buffer size (1000000000 bytes) exceeds the maximum allowed (16777216 bytes) 减少发起程序连接器上的链接缓冲区大小和链接缓冲区计数。
目标系统上的驱动程序未启动或处于脱机状态,或驱动程序拥有错误的 java 路径集。 QGIIC: 64179: (6dad7e92-f208-45a9-a036-6c592a0d2c1b) sdt35957 : IMeta : No drivers available. [sdt35958]: Unable to open connection to driver: dial unix /dev/shm/td_qg_ipc/5002/uds/TDdriver_driver.sock: connect: connection refused 检查目标连接器的驱动程序状态。如果驱动程序处于脱机状态,请重启节点上的 tdqg 节点服务。
目标连接器中的服务器名称不正确。 QGInitiatorExportContract: 24582: (9c7d074e-4529-4a54-a664-000000000004) ExportMeta : [Error 1000] Login failure for Connection to fakehost Thu May 10 08:45:52 PDT 2018 修复服务器名称目标连接器属性作为目标主机的 IP 地址或 DBS 名称。
表不在目标系统中。 QGInitiatorExportContract: 3706: (9c7d074e-4529-4a54-a664-000000000004) ExportMeta : [Error 3807] Object 'testuser.temp_table_non_exist' does not exist. 确认表存在,且查询具有正确的引用。
目标系统上存在语法错误。 QGInitiatorExportContract: 3706: (9c7d074e-4529-4a54-a664-000000000004) ExportMeta : [Error 3706] Syntax error: SELECT * must have a FROM clause. 检查提交的查询,以及目标系统上是否存在有效语法。
foreignSQL pass through 出现语法错误。 EXECUTEFOREIGNSQL:Error: 3707 (50081586-bd87-4516-9285-000000000017) ForeignFunctionDataExec : [Error 3707] Syntax error, expected something like ‘(’ between the word ‘xx’ and ‘;’. 检查在 ExecuteForeignSQL SP 中提交的查询,以及目标系统中是否存在有效语法。
QueryGrid fastpath 函数 QGRemoteExport 不在目标系统中。 QGInitiatorImport: 3706: (9c7d074e-4529-4a54-a664-000000000004) InitiatorDataImportReq : [Error 3706] Syntax error, expected something like ';' between the word 'QGRemoteExport' 如果 fastpath 函数不在目标 Teradata 系统上的 TD_SYSFNLIB 下,则运行 DIP 脚本 System Functions
QueryGrid fastpath 函数 QGRemoteImport 不在目标系统中。 QGInitiatorExport: 3706: (9c7d074e-4529-4a54-a664-000000000004) InitiatorDataExportReq : [Error 3706] Syntax error, expected something like ';' between the word 'QGRemoteImport' 如果 fastpath 函数不在目标 Teradata 系统上的 TD_SYSFNLIB 下,则运行 DIP 脚本 System Functions
数据传输期间目标系统上的 spool 空间不足。 QGInitiatorExport: 2646: (a18b6bce-ce8a-4ea0-97b3-000000000008) InitiatorDataExportReq : [Error 2646] No more spool space in testuser. 增加目标系统上用户的 spool 空间或减少查询所用的数据集。
在发起程序系统上进行数据转换时出错。 QGInitiatorImport: 1018: (341cab15-7eb7-46b2-b78d-000000000ef2) UDT transform to internal format failed 数据转换错误可能是由于发起程序和目标系统上的数据类型不匹配。
在目标系统上进行数据转换时出错。 QGInitiatorExport: 40008: (6268d8db-a3c3-4b62-82bd-000000000002) Export failed. [Error 9134] QGRemoteImport: 1018: UDT transform to internal format failed 数据转换错误可能是由于发起程序和目标系统上的数据类型不匹配。
链接中的发起程序网络接口设置不正确。 QGII: 64179: (9b01f021-2652-4222-a345-35585f3775ef) Failed to connect to node "sdt35957": No matching addresses found for network "ep_false_network" on node "sdt35957" 修复链接中的发起程序网络接口地址
链接中的目标网络接口设置不正确。 QGIIC: 64179: (e8c402fc-2a31-4aea-b167-8b82282eb339) sdt35957 : IMeta : no drivers available. [sdt35958]: No matching addresses found for network "ep_false_network" on node "sdt35958" 修复链接中的目标网络接口地址。
使用 Teradata Connector 作为发起程序时出现截断的错误消息 Error message appears truncated 要查看详细的错误消息,请确保在 Viewpoint 中将 Teradata Connector 属性 Enable Logging 设置为 NONE 以外的值。请记下该消息中提到的唯一 ID:(例如,4a9eafad-4d0c-4612-9dd2-00000000008b)。可通过该 ID 在 Viewpoint 中检查标记为驱动程序节点的每个 Teradata 节点上位于以下路径的日志文件:/var/opt/Teradata/tdqg/connector/tdqg-teradata-connector/build version/log/teradata_qgc.log。其中一个文件应包含标有 ERROR 并具有该唯一 ID 和错误消息的行。

Presto 连接器

问题 错误消息 解决方案
带有子查询的 Presto 到 Teradata (P2T) 查询未完成 无。 设置会话属性 enable_dynamic_filtering=false。如果能够解决此问题,请将此设置添加到 Presto config.properties 文件,然后重新启动 Presto 服务器。

Hive 连接器

问题 错误消息 解决方案
找不到 QueryGrid java 类 Error: Error while compiling statement: FAILED: RuntimeException org.apache.hadoop.hive.ql.metadata.HiveException: Error in loading storage handler.com.teradata.querygrid.qgc.hive.QGStorageHandler (state=42000,code=40000) 确认是否已按为 Hive 到 Teradata 配置非本机表中所述将相应的 jar 添加到 Hive 类路径中。
表分类不正确 ERROR : FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Table default.table123 failed strict managed table checks due to the following reason: Table is marked as a managed table but is not transactional.) 确认在按为 Hive 到 Teradata 配置非本机表中所述创建非本机表时是否使用了外部关键字。
Hadoop 引擎执行应用程序时出错 ERROR : Ended Job = job_1565997625028_0046 with errors

Error: Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask

OR

Export failed. application_1568920044570_0016 Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.tez.TezTask

如果该错误消息包含应用程序或作业 ID,请通过 Hadoop Web 界面在日志中查找该特定应用程序以找出失败的原因。
不允许使用参数 hive.materializedview.rewriting Failure 9134 QGII: 50107: (ff522b67-bcd1-4fca-b683-000000000002) Import failed. Query failed. Error while processing statement: Cannot modify hive.materializedview.rewriting at runtime. It is not in list of params that are allowed to be modified at runtime hive\.materializedview\.rewriting 添加到 hive-site.xml 中的 hive.security.authorization.sqlstd.confwhitelist.append 以允许修改参数。

Spark 连接器

问题 错误消息 解决方案
Spark 应用程序错误 Error 9134 QGInitiatorImportContract: 70103: (041caf90-06a3-46b3-8a4f -00000000004e) Metadata failed. java.sql.SQLException: Error occurred while executing spark job. java.sql.SQLException: Error while running Spark Application on host: hadoop3.dummy.domain. Check QueryGrid User Guide for troubleshooting info 只有在使用 Spark 目标连接器且 Spark 执行机制设置为 Spark Application 时才会显示此消息。
常见原因:
  • Viewpoint 链接配置中的用户映射不正确,从而导致 Spark 连接器尝试连接到没有 Spark 权限的用户。
  • link configconnector configTeradata AUTHORIZATION 对象中的 Spark 连接器属性 UsernamePassword 设置不正确。
  • link configconnector config 对象中的 Spark 连接器属性 Queue Name 设置不正确。
  • 在初始安装/配置期间未能按照配置 Spark SQL 目标连接器用户中所述启用用户模拟。
  • Spark 连接器使用 Spark 应用程序请求 Spark 数据库时发生的任何类型的错误或故障。
确定原因:
  • 如果配置了 Spark Thrift 服务器,则将 Spark Execution Mechanism 更改为临时使用 Thrift 服务器并重试该查询可能会生成更有帮助的错误消息。
  • 有关更详细的错误消息,请查看运行该查询的驱动程序节点中位于 /var/opt/teradata/tdqg/connector/tdqg-spark-connector/build version/log/spark_rc.log 的日志。
    • 查找该日志中列在 Error while running Spark Application 之前的异常和堆栈跟踪。
从 spark-shell 访问要用于 Hive 连接器的非本机表。 ERROR log: error in initSerDe: java.lang.ClassNotFoundException Class com.teradata.querygrid.qgc.hive.QGSerDe not found java.lang.ClassNotFoundException: Class com.teradata.querygrid.qgc.hive.QGSerDe not found 在使用 spark-shell 时,请勿访问为 Hive 连接器创建的非本机表。有关如何创建要用于 Spark SQL 连接器的非本机表的信息,请参阅验证 Spark SQL 到 Teradata Connector 链接