pig-删除gzip文件中嵌入的换行符和逗号

mitkmikd  于 2021-06-25  发布在  Pig
关注(0)|答案(1)|浏览(421)

我有一个gzip文件,数据字段用逗号分隔。我目前正在使用pigstorage加载文件,如下所示:

A = load 'myfile.gz' USING PigStorage(',') AS (id,date,text);

gzip文件中的数据具有嵌入字符-嵌入的换行符和逗号。这些字符存在于所有三个字段中-id、date和text。嵌入的字符总是在“”引号内。
我想替换或删除这些字符使用Pig之前做任何进一步的处理。
我想我需要先看看“”引号的出现。一旦我找到这些引号,我需要查看这些引号中的字符串,并搜索其中的逗号和新行字符。一旦找到了,我需要用一个空格来替换它们或者将它们移除。
如何通过pig实现这一点?

3duebb1j

3duebb1j1#

试试这个:

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链接
http://pig.apache.org/docs/r0.12.0/api/org/apache/pig/piggybank/storage/csvexcelstorage.html
http://pig.apache.org/docs/r0.9.1/api/org/apache/pig/piggybank/storage/csvloader.html

相关问题