我想转换文本文件,这是有制表符和逗号分隔的值到Pig完全逗号分隔的值。我使用的是ApachePig版本0.11.1.,我尝试了以下代码,并尝试了flatten和tokenize。但我不能把它完全转换成csv文件。
a = load '/home/mansoor/Documents/ip.txt' using PigStorage(',') as (key:chararray, val1:chararray, val2:chararray );
b = FOREACH a {
key= STRSPLIT(key,'\t');
GENERATE key;
}
以下是我的文本文件输入:
M12345 M123456,M234567,M987653
M23456 M23456,M123456,M234567
M34567 M234567,M765678,M987643
我需要一个文件,这是一个完整的csv文件,如以下输出:
M12345,M123456,M234567,M987653
M23456,M23456,M123456,M234567
M34567,M234567,M765678,M987643
我该怎么做?
2条答案
按热度按时间hof1towb1#
试试这个,
现在该文件已完全转换为csv文件。
k5hmc34c2#
用Pig0.13,只用
load
没有PigStorage
使csv加载良好。给了我
如果这不是你想要的,你可能需要考虑
REPLACE
功能。下面是一个处理可用csv的快速而肮脏的解决方案:然后可以按预期使用csv:
给予
c: {key: chararray,val1: chararray,val2: chararray, val3:chararray}