我正在尝试执行带有日期过滤器的pig脚本,用于将hadoop文件中的记录计数复制到本地unix文件,如下所示。
REGISTER /opt/cloudera/parcels/CDH/lib/pig/piggybank.jar;
DEFINE SUBSTRING org.apache.pig.piggybank.evaluation.string.SUBSTRING();
DEFINE SequenceFileLoaderorg.apache.pig.piggybank.storage.SequenceFileLoader();
fixed_length_input = load '/data/publish/mp_feedfixed/**2016/02/24**/??/mp_feed_201602*/part-m-*' USING
SequenceFileLoader as (key:chararray, value:chararray) ;
st = FOREACH fixed_length_input GENERATE FLATTEN(STRSPLIT(value, '\u0007', 1))
as (row:chararray);
count_st = foreach (GROUP st ALL) generate COUNT(st);
dump count_st;
我收到上述错误
(错误1066:无法为别名count_st打开迭代器。后端错误:null)
仅适用于某个特定日期。我可以执行剩余的日期,因此我觉得它正在调查的那个日期的文件存在问题。但我无法理解。
我是Hadoop的新手,任何人都可以帮助解决这个问题。