我的本地 HDFS 中有文件,它由“:::”分隔。
但是,当我使用以下命令时
A = 使用 PigStorage(':::') 加载 '/user/vishal/WordCount/hw3data/c0001' 作为 (a, b, c);
它给了我以下错误----
错误 1200:无法使用参数 '[:::]' 实例化 'PigStorage'
究竟可能是什么问题?
谢谢
我的本地 HDFS 中有文件,它由“:::”分隔。
但是,当我使用以下命令时
A = 使用 PigStorage(':::') 加载 '/user/vishal/WordCount/hw3data/c0001' 作为 (a, b, c);
它给了我以下错误----
错误 1200:无法使用参数 '[:::]' 实例化 'PigStorage'
究竟可能是什么问题?
谢谢
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);