我的本地hdfs中有一个文件,它由“::”分隔。但是当我使用以下命令时a=使用pigstorage('::')作为(a,b,c)加载'/user/vishal/wordcount/hw3data/c0001';它给了我以下错误----错误1200:无法示例化参数为“[:]”的“pigstorage”到底是什么问题?谢谢
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);
1条答案
按热度按时间vq8itlhq1#
pigstorage仅支持单字符分隔符。
如果您不想创建自定义加载程序,一个解决方案是要么遵循donald的答案,要么查看myregexloader。在你的例子中,它看起来是这样的: