我使用以下命令加载数据
A = LOAD '*Myfilepath*' USING org.apache.pig.piggybank.storage.CSVExcelStorage(';', 'YES_MULTILINE', 'NOCHANGE', 'SKIP_INPUT_HEADER') AS (a:chararray, b:int, c:chararray);
但它不起作用。
答案 0 :(得分:0)
请在代码中更改以下内容
发件人:使用org.apache.pig.piggybank.storage.CSVExcelStorage(';','YES_MULTILINE','NOCHANGE','SKIP_INPUT_HEADER')
TO:使用org.apache.pig.piggybank.storage.CSVExcelStorage(',','YES_MULTILINE','NOCHANGE','SKIP_INPUT_HEADER')
csv是一个“,”逗号分隔文件而不是分号“;”分离文件
希望这有助于!!! ....
答案 1 :(得分:0)
如果它是一个没有倒置逗号打嗝的干净文件,这很好:
A = LOAD '*Myfilepath*' USING PigStorage(';') AS (a:chararray, b:int, c:chararray);
在您的情况下,我认为您在使用其属性之前尚未注册piggybank jar!下载JAR并注册如下:
REGISTER '/export/home/piggybank.jar';
A = LOAD 'sam3.txt' USING org.apache.pig.piggybank.storage.CSVExcelStorage(';', 'YES_MULTILINE', 'NOCHANGE', 'SKIP_INPUT_HEADER') AS (a:chararray, b:int, c:chararray);
注意:当您使用LOAD '*Myfilepath*'
时,会选择该目录中的所有文件!在这种情况下,'SKIP_INPUT_HEADER'
无效!