使用逗号作为拉丁猪的分隔符来获取自由文本列

时间:2013-12-12 11:20:31

标签: apache-pig comma

我正在向PigStorage加载文件。该文件有一列Newvalue,一个自由文本列,其中包含逗号。当我将逗号指定为分隔符时,这给了我一个问题。我正在使用以下代码。

inpt = load '/home/cd36630/CRM/1monthSample.txt' USING PigStorage(',') 
            AS (BusCom:chararray,Operation:chararray,OperationDate:chararray,
                ISA:chararray,User:chararray,Field:chararray,Oldvalue:chararray,
                Newvalue:chararray,RecordId:chararray);

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

如果输入是csv格式,那么您可以使用CSVLoader加载它。这可能会解决您的问题。

如果这不起作用,那么您可以加载到单个chararray中,然后编写UDF以分割整个行,以尊重Newvalue中的空格。 EG:

register 'myudfs.py' using jython as myudfs ;
A = LOAD '/home/cd36630/CRM/1monthSample.txt' AS (total:chararray) ;
B = FOREACH A GENERATE myudf.prepare_input(total) ;