在这里,我尝试使用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 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
由于错误,编译失败。尚未生成执行计划。 作业脚本编译失败。
我在这里错过任何细节吗?