Skip to main content

Teradata 批处理连接

Teradata 批量连接用于通过 输入数据工具 输出数据工具 向 Teradata 数据库中的空表高速读写大量数据。目标表除了要求是空表外,还不能定义任何二级索引。用户必须拥有对目标表的 SELECT 和 INSERT 权限,对错误表的 SELECT 和 INSERT 权限,以及对包含错误表的数据库的 DROP 权限。

电脑上必须安装以下 Teradata 工具和实用程序(这些工具的推荐版本为 14.0,即最新版本)。

  • 共享 ICU 库

  • Teradata 的 ODBC 驱动程序

  • Teradata GSS 客户端

  • Teradata Parallel Transporter Base

如需详细了解 Teradata,请访问其网站: www.teradata.com

使用输出数据工具向 Teradata 批量连接写入数据

  1. 输出数据源 :使用下拉菜单选择 其他数据库 > Teradata 批处理

  2. Teradata 数据源名称 :使用计算机上设置的可用 ODBC 连接的下拉列表。

  3. 用户名 :指定用于连接 Teradata 的用户名凭证

  4. 密码 :指定用于连接 Teradata 的密码凭证

  5. 配置连接选项:

    • LDAP 身份验证 :如果 Teradata 服务器使用 LDAP 进行身份验证,则必须选择此选项。您还必须在 ODBC 驱动程序配置中选择 LDAP 作为 DSN 身份验证机制。(必须在两个位置都选择 LDAP 或都取消选择。)

    • 启用数据加密 :选择此选项可在传输过程中加密数据。必须在 ODBC 驱动程序选项中单独启用 DSN 加密(例如,用于创建和删除表)。

  6. 配置输出数据工具的选项:

    1. 文件的最大记录数 :指定要写入的记录的限制。留空表示无限制。

    2. 文件格式 :Teradata 批量加载器格式。

    3. 密码 :使用下拉列表指定如何处理配置窗口中的密码显示。选项包括:

      • 隐藏(默认)

      • 为本机加密

      • 为用户加密

    4. 输出选项 :使用下拉列表指定如何将数据写入 Teradata。选项包括:

      • 创建新表 :将数据写入新表。不会覆盖现有的表。

      • 覆盖表格(删除) :完全删除现有的表并创建一个新表。

      • 追加(忽略重复行) :将数据添加到现有表中,同时忽略重复记录。

      • 追加(标记重复行) :重复的行将写入 TableName_e2

      • 删除数据再追加 :删除表中的所有原始记录,然后将数据追加到现有表中。

    5. 错误限制 :如果错误数超过此限制,此设置将终止记录的写入。已写入的记录将保留在表中。

    6. 日志和错误表的备用名称 :Teradata 批量加载器使用 Teradata Parallel Transporter API 来写入数据。API 会自动创建 3 个表。如果表名中的字符数小于 27,这些表将默认使用表名。如果字符数大于 27,则需要为这些表输入备用表名。

    7. 创建 Pre-SQL 语句 :在创建输出表之前通过 OleDb 执行的 SQL 语句。需要具备高级 SQL 语言知识。

    8. 创建 Post-SQL 语句 :在创建输出表之后通过 OleDb 执行的 SQL 语句。需要具备高级 SQL 语言知识。

    9. 表格/字段名样式 :选项包括“带引号”或“无”。如果选择“带引号”,系统将查找数据库类型的带引号的标识符。

Teradata 批量加载器创建的表为 “tablename_lg”、“tablename_e1” 和 “tablename_e2”。(其中 tablename 是您在 6 或 7 中输入的名称)如果在写入记录的过程中出现错误,这些表将包含有关这些错误的信息。如果使用“删除数据并追加”以及“覆盖表格(删除)”,Alteryx 会自动删除这些工作表。

使用输入数据工具可通过 Teradata 批量连接读取数据

  1. 输入数据源 :使用下拉菜单选择 其他数据库 > Teradata 批量处理

  2. Teradata 数据源名称 :使用计算机上设置的可用 ODBC 连接的下拉列表。

  3. 用户名 :指定用于连接 Teradata 的用户名凭证

  4. 密码 :指定用于连接 Teradata 的密码凭证

  5. 配置连接选项:

    • LDAP 身份验证 :如果 Teradata 服务器使用 LDAP 进行身份验证,则必须选择此选项。您还必须在 ODBC 驱动程序配置中选择 LDAP 作为 DSN 身份验证机制。(必须在两个位置都选择 LDAP 或都取消选择。)

    • 启用数据加密 :选择此选项可在传输过程中加密数据。必须在 ODBC 驱动程序选项中单独启用 DSN 加密(例如,用于创建和删除表)。

  6. 配置输入数据工具的选项:

    1. 记录限制 :输入数字以限制从输入数据源读取的记录数。这对于测试目的和试运行很有用。留空表示读取所有记录。

    2. 文件格式 :Teradata 批量加载器格式。

    3. 密码 :使用下拉列表指定如何处理配置窗口中的密码显示。选项包括:

      • 隐藏(默认)

      • 为本机加密

      • 为用户加密

    4. 表格或查询 :指定将从其中读取记录的目标表名。单击

      获取表格列表。

    5. 读取未假脱机 :Teradata 设置 - 指定在运行当前导出任务时是否使用假脱机。

    6. 不显示完成百分比 (%) :选中后,Alteryx 将不会尝试对文件的读取状态进行报告,从而加快读取时间。

    7. 创建 Pre-SQL 语句 :在读取表格之前通过 OleDb 执行的 SQL 语句。需要具备高级 SQL 语言知识。

    8. 创建 Post-SQL 语句 :在读取表格之后通过 OleDb 执行的 SQL 语句。需要具备高级 SQL 语言知识。

    9. 表格/字段名样式 :选项包括“带引号”或“无”。如果选择“带引号”,系统将查找数据库类型的带引号的标识符。

无假脱机模式

指定在运行当前导出任务时是否使用假脱机。

有效值

  • “Spool” = 使用假脱机。这是默认设置。

  • “NoSpool” = 不使用假脱机。仅在 DBS 支持 NoSpool 时,此值才有效。如果 DBS 不支持 NoSpool,则会使用假脱机。

  • “NoSpoolOnly” = 在任何情况下都不使用假脱机。如果 DBS 不支持 NoSpool,则会终止作业并报错。

假脱机选项

NoSpool 模式以尽可能快的速度导出表的内容,而无需将表读入假脱机文件或在提取文件前将文件分发给所有 AMP。

  • (默认)SPOOL 数据。

  • 使用 NOSPOOLONLY 模式,但如果 NOSPOOL 不受支持,则返回错误。

  • 在可能的情况下使用 NOSPOOL 模式;否则,在 Teradata 数据库中对数据进行假脱机处理。

限制和功能

  • NOSPOOL 模式仅适用于简单的 SELECT 语句。不支持以下操作:

  • 访问非数据表,例如 SELECT DATE 或 SELECT USER

  • USING 修饰符;可使用带有支持 FIELD 和 FILLER 命令的 FastExport IMPORT 命令来定义约束参数

  • 包含 SORT (ORDER BY)、HAVING 或 WITH 子句

  • 连接

  • 聚合(解释显示 SUM 步骤)

  • TABLE 函数

  • 有序分析 (OLAP) 函数

  • 多个 SELECT 语句或多语句请求

  • 具有零个或多个检索或采样步骤的语句

  • NOSPOOL 模式只从单个表中检索数据,但 SELECT 语句可以选择导出哪些列,并将作业限制为行的子集。

  • 允许使用标量表达式/函数。

  • 支持样本和分区消除约束。

  • 常规假脱机作业返回的“活动计数”表示受影响的块数;但对于非假脱机作业,块的数量未知,因此响应消息包含“活动类型”(而不是“活动计数”),以指示 NOSPOOL 进程。

NOSPOOL 模式的缺点

  • 在整个导出过程中都会保持锁定。

  • 在数据块被读取之前,将不会检测到先前在假脱机阶段检测到的数据转换错误,这些错误可能在导出过程中的任何时间发生。

  • 每次运行时的行顺序(由于缺少 ORDER BY 子句)可能一致,也可能不一致;因此,NOSPOOL 模式不提供一致性保证。

如需了解 Spool/NoSpool 模式,请参阅 Teradata FastExport 参考文档。