【发布时间】:2017-09-30 22:45:37
【问题描述】:
我需要自动将大量数据(通过 sql 查询从 TERADATA)导出到管道分隔的文本文件。我使用了 PowerShell (ConvertTo-CSV cmdlet),但速度很慢。 有人建议我使用 TPT 导出,但我从未使用过此工具,我发现的只是如何将一个表导出到平面文件,而不是一个包含多个表的复杂查询。 有人知道如何进行 TPT 或有一个脚本示例吗?
编辑:
我正在将此脚本用于 TPT,但我认为它有很多错误
DEFINE JOB EXPORT_DELIMITED_FILE
DESCRIPTION 'Export rows from a Teradata table to a delimited file'
(
DEFINE SCHEMA select EXPORT_DELIMITED_FILE from DELIMITED OF OPERATOR SQL_SELECTOR
DEFINE OPERATOR SQL_SELECTOR
TYPE SELECTOR
SCHEMA *
ATTRIBUTES
(
VARCHAR PrivateLogName = 'selector_log',
VARCHAR TdpId = 'Server',
VARCHAR UserName = 'user',
VARCHAR UserPassword = 'password',
VARCHAR SelectStmt = 'E:\PowerShell\SQL\file.sql',
VARCHAR ReportModeOn
);
DEFINE OPERATOR FILE_WRITER
TYPE DATACONNECTOR CONSUMER
SCHEMA *
ATTRIBUTES
(
VARCHAR PrivateLogName = 'dataconnector_log',
VARCHAR DirectoryPath = 'E:\PowerShell\Output',
VARCHAR FileName = 'test_file.txt',
VARCHAR Format = 'Delimited',
VARCHAR OpenMode = 'Write',
VARCHAR TextDelimiter = '|'
);
APPLY TO OPERATOR (FILE_WRITER)
SELECT * FROM OPERATOR (SQL_SELECTOR);
);
【问题讨论】:
-
您可以提供一个复杂的查询作为 TPT 中 Export 运算符的 SelectStmt 参数。尝试执行脚本并发布您遇到的任何困难。可以在线找到许多示例和示例脚本。例如,请参阅此link 请参阅 Teradata Parallel Transporter 快速入门指南以获取一般入门指南,Teradata Parallel Transporter Reference 以获取完整参考。
-
我已经制作了下面的脚本并且我有以下错误,实际上我不确定要定义架构的内容:语法错误:无效令牌''遵循语法“DEFINE SCHEMA” "。
标签: sql powershell csv export teradata