Teradata TPT的数据加载失败

时间:2019-11-15 15:33:24

标签: teradata

在这里,我尝试使用TPT实用程序将csv文件加载到Teradata表中 ,但提交时出现错误:

这是我的TPT脚本:

DEFINE JOB test_tpt
DESCRIPTION 'Load a Teradata table from a file'
(
DEFINE SCHEMA SCHEMA_EMP_NAME
(
NAME VARCHAR(50),
AGE VARCHAR(50)    
);

DEFINE OPERATOR od_EMP_NAME
TYPE DDL
ATTRIBUTES
(
VARCHAR PrivateLogName = 'tpt_log',
VARCHAR LogonMech      = 'LDAP',
VARCHAR TdpId          = 'TeraDev',
VARCHAR UserName       = 'user',
VARCHAR UserPassword   = 'pwd',
VARCHAR ErrorList      = '3807'
);

DEFINE OPERATOR op_EMP_NAME
TYPE DATACONNECTOR PRODUCER
SCHEMA SCHEMA_EMP_NAME
ATTRIBUTES
(
VARCHAR  DirectoryPath= '/home/hadoop/retail/',
VARCHAR  FileName = 'emp_age.csv',
VARCHAR  Format   = 'Delimited',
VARCHAR  OpenMode = 'Read',
VARCHAR  TextDelimiter =','
);


DEFINE OPERATOR ol_EMP_NAME
TYPE LOAD
SCHEMA *
ATTRIBUTES
(
VARCHAR LogonMech           = 'LDAP',
VARCHAR TdpId          = 'TeraDev',
VARCHAR UserName       = 'user',
VARCHAR UserPassword   = 'pwd',
VARCHAR  LogTable     =  'EMP_NAME_LG',
VARCHAR  ErrorTable1  =  'EMP_NAME_ET',
VARCHAR  ErrorTable2  =  'EMP_NAME_UV',
VARCHAR  TargetTable  =  'EMP_NAME'
);

STEP stSetup_Tables
(
APPLY
('DROP TABLE EMP_NAME_LG;'),
('DROP TABLE EMP_NAME_ET;'),
('DROP TABLE EMP_NAME_UV;'),
('DROP TABLE EMP_NAME;'),
('CREATE TABLE EMP_NAME(NAME VARCHAR(50), AGE VARCHAR(2));')
TO OPERATOR (od_EMP_NAME);
);

STEP stLOAD_FILE_NAME
(
APPLY
('INSERT INTO EMP_NAME
(Name,Age)
VALUES
(:Name,:Age);
')
TO OPERATOR (ol_EMP_NAME)
SELECT * FROM OPERATOR(op_EMP_NAME);
);
);

致电TPT:

tbuild -f test_tpt.sql

以上TPT脚本失败,并出现以下错误:

Teradata Parallel Transporter Version 15.10.01.02 64-Bit
TPT_INFRA: Syntax error at or near line 6 of Job Script File 'test_tpt.sql':
TPT_INFRA: At "NAME" missing RPAREN_ in Rule: Explicit Schema Element List
TPT_INFRA: Syntax error at or near line 8 of Job Script File 'test_tpt.sql':
TPT_INFRA: TPT03020: Rule: DEFINE SCHEMA

由于错误,编译失败。尚未生成执行计划。 作业脚本编译失败。

我在这里错过任何细节吗?

1 个答案:

答案 0 :(得分:1)

消息肯定会更清晰,但是问题是NAME是受限制的单词。