我想用PIG阅读一个CSV文件我该怎么办?我使用了load n pigstorage(','),但它无法正确读取CSV文件,因为它在数据中遇到逗号(,)它会拆分它。如果我还有数据逗号,我现在应该如何给出delimeter?
答案 0 :(得分:3)
通常无法将数据中的逗号与逗号分隔为分隔符。 您将需要转义可识别转义逗号的“数据”和自定义加载函数(对于Pig)中的逗号。
看看这里:
http://ofps.oreilly.com/titles/9781449302641/load_and_store_funcs.html
http://pig.apache.org/docs/r0.7.0/udf.html#Load%2FStore+Functions
答案 1 :(得分:2)
答案 2 :(得分:-1)
首先确保您拥有有效的CSV文件。如果您没有尝试通过Excel(如果文件很小)或其他工具更改源文件,并导出具有良好分隔符的新CSV(例如:\ tt tab,;等)。更好的是可以用“好”分隔符做另一个提取。
您的加载示例可以是这样的:
TABLE = LOAD'input.csv'使用PigStorage(';')AS(site_id:int, 名称:chararray,...);
您的DUMP示例:
使用PigStorage(',')将表存入'clean.csv'; < - 最适合你的分隔符