【发布时间】:2014-12-23 21:05:13
【问题描述】:
我的 csv 文件中的一些标题/出版商有“&”;在它们中以及包含它们的行被误读,因为它们在&符号代码中的分号和每个字段的末尾被过早拆分。
如何修改此代码:
CREATE TABLE books (ISBN STRING, Title STRING, Author STRING, Year STRING, Publisher STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY "\;";
LOAD DATA INPATH '/path/to/my/datafile' INTO TABLE books;
所以它不这样做?
我的 csv 文件中的一个示例有问题的行是:
0743403843;"Decipher";"Stel Pavlou";"2002";"Simon & Schuster (Trade Division)"
没有正确读取发布者列。
我知道我可以先清理 csv,然后再手动删除 (&);但能告诉我如何在 Hive 或 Hadoop 的其他工具中做到这一点?
【问题讨论】:
-
我有不同的方法,因为可以有 &同样在发布者列输出(或)其强制删除 &来自出版商专栏?
-
如果 &立即在标题列中,标题的一半在标题中,然后标题的下一部分在作者列中,实际作者在年份列中。等等。它被洒在 amepersand 代码中的分号上 &而不是分号,它实际上表示字段的结尾。
-
我遇到了你的问题,对于上述输入,这个输出是否可以? isbn=0743403843, title="Decipher", author="Stel Pavlou" , year="2002", publisher="Simon & Schuster (Trade Division)" ?
-
no Publisher 列只有 Simon & 而不是 Simon &舒斯特(贸易部)
-
只是为了澄清我不介意 &在字段中,我只是不希望列因为 & 中的分号而过早地被删除