错误1200:无法示例化参数为“[:]”的“pigstorage”

tcbh2hod  于 2021-06-24  发布在  Pig
关注(0)|答案(1)|浏览(443)

我的本地hdfs中有一个文件,它由“::”分隔。
但是当我使用以下命令时
a=使用pigstorage('::')作为(a,b,c)加载'/user/vishal/wordcount/hw3data/c0001';
它给了我以下错误----
错误1200:无法示例化参数为“[:]”的“pigstorage”
到底是什么问题?
谢谢

vq8itlhq

vq8itlhq1#

pigstorage仅支持单字符分隔符。
如果您不想创建自定义加载程序,一个解决方案是要么遵循donald的答案,要么查看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);

相关问题