我有一个gzip文件,数据字段用逗号分隔。我目前正在使用PigStorage加载文件,如下所示:
A = load 'myfile.gz' USING PigStorage(',') AS (id,date,text);
gzip文件中的数据包含嵌入字符 - 嵌入的换行符和逗号。这些字符存在于所有三个字段中 - id,date和text。嵌入的字符始终在“”引号内。
我想在进行任何进一步处理之前替换或删除这些字符使用Pig 。
我想我需要先查看“”引号的出现。找到这些引号后,我需要查看这些引号中的字符串,并在其中搜索逗号和换行符。一旦找到,我需要用空格替换它们或删除它们。
如何通过Pig实现这一目标?
答案 0 :(得分:2)
试试这个:
REGISTER piggybank.jar;
A = LOAD 'myfile.gz' USING org.apache.pig.piggybank.storage.CSVExcelStorage() AS (id:chararray,date:chararray,text:chararray);
B = FOREACH A GENERATE REPLACE(REPLACE(id,'\n',''),',','') AS id, REPLACE(REPLACE(date,'\n',''),',','') AS date, REPLACE(REPLACE(text,'\n',''),',','') AS text;
我们可以使用:org.apache.pig.piggybank.storage.CSVExcelStorage()或org.apache.pig.piggybank.storage.CSVLoader()。
有关详细信息,请参阅以下API链接