Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache pig PigUnit不适用于使用HCatLoader的pig脚本_Apache Pig_Hcatalog - Fatal编程技术网

Apache pig PigUnit不适用于使用HCatLoader的pig脚本

Apache pig PigUnit不适用于使用HCatLoader的pig脚本,apache-pig,hcatalog,Apache Pig,Hcatalog,我有我的猪脚本,我在那里加载像: LOAD_A = LOAD '$DB_AND_TABLE' USING org.apache.hcatalog.pig.HCatLoader(); 我在我的单元中覆盖别名,如下所示: overrideInputAlias("LOAD_A", load_a); 理想情况下,我认为如果覆盖别名,pigunit不应该尝试使用HCatLoader加载,但它会抱怨 ERROR 1000: Error during parsing. Could not resolve

我有我的猪脚本,我在那里加载像:

LOAD_A = LOAD '$DB_AND_TABLE' USING org.apache.hcatalog.pig.HCatLoader();
我在我的单元中覆盖别名,如下所示:

overrideInputAlias("LOAD_A", load_a);
理想情况下,我认为如果覆盖别名,pigunit不应该尝试使用HCatLoader加载,但它会抱怨

ERROR 1000: Error during
parsing. Could not resolve org.apache.hcatalog.pig.HCatLoader using imports: [,
java.lang., org.apache.pig.builtin., org.apache.pig.impl.builtin.]

如果我需要使用
HCatLoader
PigUnit
做一些不同的事情,有人能告诉我吗?

请尝试使用
override()


如果仍然出现相同的错误,我建议您将
hcatalog pig adapter
添加到您的maven依赖项中。

嗨,Fred,我可以使用-useHCatalog很好地运行pig脚本。但给我带来麻烦的是猪队。即使覆盖别名,我仍然需要提供JAR吗?覆盖别名是什么意思-使用Catalog?我认为这在单元测试中不起作用。我想你得加些罐子。我建议您使用maven或类似的工具。我的意思是,使用-useHCatalog在hadoop集群上运行pig脚本效果很好。是的,我用的是maven。关于覆盖别名,在pigunit中,您可以执行
overrideInputAlias(“加载A”,加载A)
正如我在上面的问题中指出的,从技术上讲,pig应该只获取load_a的字符串数组中的数据,甚至不尝试查找HCatloader类。看起来我误解了你的问题,我已经编辑了我的答案。
test.override("LOAD_A", "LOAD_A = LOAD 'abc' USING PigStorage(',');