Pig - 删除 gzip 文件中嵌入的换行符和逗号
Pig - Remove embedded newlines and commas in gzip files
我有一个 gzip 文件,其中数据字段以逗号分隔。我目前正在使用 PigStorage 加载文件,如下所示:
A = load 'myfile.gz' USING PigStorage(',') AS (id,date,text);
gzip 文件中的数据有嵌入字符 - 嵌入换行符和逗号。这些字符存在于所有三个字段中 - id、date 和 text。嵌入字符始终在 "" 引号内。
我想在进行任何进一步处理之前使用 Pig 替换或删除这些字符 。
我想我需要先查找“”引号的出现。找到这些引号后,我需要查看这些引号中的字符串并搜索其中的逗号和换行符。一旦找到,我需要用 space 替换它们或删除它们。
如何通过 Pig 实现此目的?
试试这个:
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 链接
我有一个 gzip 文件,其中数据字段以逗号分隔。我目前正在使用 PigStorage 加载文件,如下所示:
A = load 'myfile.gz' USING PigStorage(',') AS (id,date,text);
gzip 文件中的数据有嵌入字符 - 嵌入换行符和逗号。这些字符存在于所有三个字段中 - id、date 和 text。嵌入字符始终在 "" 引号内。
我想在进行任何进一步处理之前使用 Pig 替换或删除这些字符 。
我想我需要先查找“”引号的出现。找到这些引号后,我需要查看这些引号中的字符串并搜索其中的逗号和换行符。一旦找到,我需要用 space 替换它们或删除它们。
如何通过 Pig 实现此目的?
试试这个:
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 链接