我试过使用teradata fastload
这是他们在官方网站上提供的样本文件
L_INDEX,L_TIMESTAMP,L_TEXT
1,2010-08-11 13:19:05.1,some text
2,2010-08-11 13:19:05.1,
3,2010-08-11 13:19:05.1,more text
4,,text
5,,
它与上面的文件运行得非常完美
然后我只修改了第一行。以便 some text
成为 "some, text"
. 以下是完全合法的 csv
```
L_INDEX,L_TIMESTAMP,L_TEXT
1,2010-08-11 13:19:05.1,"some, text" // this row was slightly modified
2,2010-08-11 13:19:05.1,
3,2010-08-11 13:19:05.1,more text
4,,text
5,,
但是我有个错误 `the first column contains 4 values but only 3 values were expected` 据我所知,我必须指定文本限定符 `"` . 我该怎么做?
我看了文件,但没有提到这一点。
1条答案
按热度按时间des4xlb01#
根据与选择用于
SET RECORD
命令和aVARTEXT
布局:数据中出现的任何字符序列都不能用作分隔符。分隔符中不能使用制表符以外的控制字符。
这可能会扩展到teradatajdbc驱动程序中使用的fastloadapi机制。
编辑
fastload已经有15年多的历史了,它能很好地完成它的目标——快速加载大量数据。您的其他选择是创建一个固定长度的记录,在这里您不必依赖分隔符,或者创建一个inmod来解析流到fastload中的文件。
其他替代方法包括multiload、teradata并行传输、tpump或适当的etl工具来加载数据。每种方法都有各自的优点和缺点,必须在提供给环境的数据格式中加以考虑。