【发布时间】:2014-12-24 17:37:21
【问题描述】:
我需要将一个 excel 文件加载到一个已包含数据的 teradata 表中。我使用 TPT Inserter 操作符来加载带有 CSV 文件的数据。我不确定如何使用 TPT Inserter 直接加载 excel 文件。 当我尝试使用 TextDelimiter='TAB' 提供 excel 文件时,解析器抛出错误
data_connector:TPT19134 !错误!致命数据错误处理文件 'd:\sample_dat 一个.csv'。分隔数据解析错误:第 1 行中的列太少。
1) 有人可以解释直接将 excel 文件导入 teradata 时需要哪些选项
2) 如何使用 tptLoad / tptInserter 在 teradata 中加载 TAB 分隔的文件
我使用的脚本是:
define job insert_data
description 'Load from Excel to TD table'
(
define operator insert_operator
type inserter
schema *
attributes
(
varchar logonmech='LDAP',
varchar username='username',
varchar userpassword='password',
varchar tdpid='tdpid',
varchar targettable='excel_to_table'
);
define schema upload_schema
(
quarter varchar(20),
cust_type varchar(20)
);
define operator data_connector
type dataconnector producer
schema upload_schema
attributes
(
varchar filename='d:\sample_data.xlsx',
varchar format='delimited',
varchar textdelimiter='TAB',
varchar openmode='Read'
);
apply ('insert into excel_to_table(quarter, cust_type) values(:quarter, :cust_type);')
to operator (insert_operator[1])
select quarter, cust_type
from operator (data_connector[1]);
);
谢谢!!
【问题讨论】:
-
您确定文件是制表符分隔格式吗? .xlsx 扩展名通常不是制表符分隔的。您是否通过在 Notepad++ 等文本编辑器中打开文件来验证文件的内容?
-
@xenodevil 你是对的。我在记事本中打开 xlsx 文件,发现只有垃圾数据。这应该是TPT错误的原因。想知道有没有什么方法可以使用 TPT 将 Excel 数据直接加载到 Teradata 中?...
-
不,没有任何通用方法可以使用本机 Teradata 实用程序将随机 Excel 文件加载到 TD 中。我认为原因是 Excel 文件可能包含复杂的对象(图形/图表/图像)和公式,需要复杂的工具才能正确操作。您可能会找到一些用于此类目的的第三方工具,但如果它只有一个文件,那么手动将其转换为 CSV 格式然后使用本机 TTU 加载 CSV 文件会更容易