已知限制(Spark 到 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
以下限制会影响 Spark 到 Teradata 链接的使用:
  • 不支持系统之间的事务语义。
  • Teradata QueryGrid 不会收集远程 Teradata 查询的查询指标(如 CPU 使用率)。
  • BLOB 和 CLOB 支持的大小上限小于 2GB (2,097,088,000)。
  • VARCHAR 的大小上限为 64k。
  • Teradata Database 版本 15.10 不支持临时数据库名称 NVP。
  • Spark SQL 目标连接器不支持外部函数执行 (FFE) 功能。
  • Spark 连接器不支持 ACID 表或事务表。
  • 在数据已导出并提交到远程系统后,本地系统上的任何后续错误或中止不会回滚远程请求。

  • 对 Spark 发起程序连接器使用 Explain 命令时,远程服务器不会返回查询和执行计划数据。
  • 时间戳精度的缺省值为九 (9);使用 Spark 到 Terdata 链接时,Teradata QueryGrid 会截断小数位超过六个的数据。
  • 只有有限的谓词下推可用。
  • 在启动 Spark Thrift 服务器或 Spark Shell 以使用 Spark 连接器时,Teradata 建议将 spark.task.maxFailures 属性设置为 1,并将 spark.blacklist.enabled 属性设置为 false。
  • 可能的 Apache Spark 限制因素带来的结果如下:
    • Spark 2.1 及更高版本:在使用 Spark 发起程序时,如果在创建表示目标表的非本地表之后,该目标表的模式发生更改,则必须重新创建该非本地表以反映此模式更改。
    • Spark 2.2 及更高版本:在使用 Spark 目标连接器导入 DATE 类型的数据或使用 Spark 发起程序导出 DATE 类型的数据时,来自 Spark 的数据值可能不正确。
    • Spark 2.2 及更高版本:Spark 不支持 Char/Varchar;因此,当使用 Spark 目标连接器插入来自 QueryGrid 的数据,且目标表包含 char/varchar 列时,来自 QueryGrid 的数据可能不正确。要避免可能不正确的数据,请使用 String,不要使用 Char/Varchar。
    • 如果 Spark 已升级或标准 Spark JAR 的位置发生了更改,则需要重新启动 tdqg-node。
  • 如果 UTF-16 补充字符超过了表中 2 个字节的限制,将会截断数据。
  • 如果表字符集不是 Latin 或 UTF-16,则 Spark 表的 VARCHAR、STRING 和 CHAR 列不支持 IMPORT。
  • 不支持 LIMIT 子句的条件下推。Spark SQL 发起程序 SHOW 命令可能显示有限数量的行,但会导入所有行。
  • 如果远程系统时区与发起程序系统时区不同,则 WHERE 子句中使用的日期文本不会转换为远程系统时区。
  • 与 WHERE 子句中的 DATE 进行比较可能会产生错误结果。
  • 在运行 SELECT 查询(例如在 Spark Shell 上显示结果)时,预计该查询将从 Teradata 传输大量行,Teradata 建议尽可能在查询中添加 LIMIT 子句。