我正在向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);
感谢任何帮助。
答案 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) ;