ERROR 1200:无法使用参数'[:::]'实例化'PigStorage'

时间:2013-02-28 06:26:37

标签: file delimiter apache-pig

我在我的本地HDFS中有文件,它由':::'分隔。

但是当我使用以下命令时

  

A = load'/ user / vishal / WordCount / hw3data / c0001'使用   PigStorage(':::')as(a,b,c);

它给了我以下错误----

  

ERROR 1200:无法使用参数'[:::]'实例化'PigStorage'

究竟可能是什么问题?

由于

1 个答案:

答案 0 :(得分:3)

PigStorage仅支持单字符分隔符 如果您不想创建自定义加载器,解决方案是遵循Donald的answer或查看MyRegExLoader。在你的情况下,它看起来像这样:

REGISTER '/my_pig_home/contrib/piggybank/java/piggybank.jar'
A = LOAD '/user/vishal/WordCount/hw3data/c0001' 
  USING org.apache.pig.piggybank.storage.MyRegExLoader(
    '([^\\:]+):::([^\\:]+):::([^\\:]+)') 
      as (a:chararray, b:chararray, c:chararray);