我是Pig的新手,我在将数据加载到猪时遇到了麻烦。 我有如下数据:
example.txt中
name,id,address,age
basu,1,[73,dvg,india],24
nithi,2,[78,bang,india],24
在此,分隔符是逗号(,),地址字段本身包含逗号(,)。我需要在地址字段中删除这些逗号。请有人帮我这个
提前致谢 巴苏
答案 0 :(得分:0)
根据@Basu注释,如果地址可以用“”代替[],则可以使用以下方法。
猪脚本:
REGISTER piggybank.jar;
student_details = LOAD 'student.csv' USING org.apache.pig.piggybank.storage.CSVLoader() AS (name:chararray,id:long,address:chararray, age:long);
student_address = FOREACH student_details GENERATE address;
DUMP student_address;
输入:student.csv
basu,1,"73,dvg,india",24
nithi,2,"78,bang,india",24
输出:DUMP student_address
(73,dvg,india)
(78,bang,india)
我们可以使用:org.apache.pig.piggybank.storage.CSVExcelStorage()或org.apache.pig.piggybank.storage.CSVLoader()。
有关详细信息,请参阅以下API链接
答案 1 :(得分:-1)
只有猪的构造几乎没有办法做到这一点。但是,是的,您可以通过编写UDF类型的东西来执行此操作,您可以尝试某种逻辑并处理此问题,但这不是最好的方法。建议的方法是始终具有control-a(\ u0001)分隔文件。