我得到:
org.apache.pig.impl.logicalLayer.FrontendException: ERROR 1066: Unable to open iterator for test
当我有密码时:
my_file = LOAD '$my_records_file' USING PigStorage('\t') AS (field0:chararray, field1:int);
test = FILTER my_file BY field0 != null;
为什么我会犯这个错误?
3条答案
按热度按时间3gtaxfhh1#
我想您要筛选具有空值的行吗?语法为field0不为空。
但如果要筛选值等于null的行,则代码为:
628mspwn2#
代码:
有一个错误。
field0 != null
应该是field0 != 'null'
.此代码:
更正错误。
eh57zj3b3#
产生此错误的另一个原因是,通过本地模式或hdfs模式运行清管器。除此之外,控制台上还有一条消息,无法从路径读取数据。如果是这种情况,那么首先检查您正在本地模式或hdfs模式下使用pig。在本地模式下,pig将从lfs(本地文件系统)获取输入数据。但是,在hdfs中,它将从hdfs目录获取输入数据。
作业提交期间的后端错误消息org.apache.pig.backend.executionengine.execute:错误2118:输入路径不存在:
pig堆栈跟踪:错误1066:无法打开别名的迭代器
因此,请确保在加载文件时避免此错误。