在猪 0.16 中加载 json 数据时大象鸟不存在错误

elephant bird does not exist error while loading json data in pig 0.16

谁能帮我弄清楚为什么我在使用 REGISTER 注册 jar 文件 'elephant bird' 以加载 json 数据时出错:

我在猪0.16的local模式下工作,报错: /home/shanky/Downloads/elephant-bird-hadoop-compat-4.1.jar' 不存在。 /home/shanky/Downloads/elephant-bird-pig-4.1.jar' 不存在.

加载json数据的代码:

REGISTER '/home/shanky/elephant-bird-hadoop-compat-4.1.jar';
REGISTER '/home/shanky/Downloads/elephant-bird-pig-4.1.jar';
REGISTER '/home/shanky/Downloads/json-simple-1.1.1.jar';
load_tweets = LOAD '/home/shanky/Downloads/data.json' USING com.twitter.elephantbird.pig.load.JsonLoader('-nestedLoad') AS myMap;
dump load_tweets;

我尝试通过删除引号并放置 hdfs:// 来替换 REGISTER 语句,但对我没有任何作用。

根据 pig 文档 (https://pig.apache.org/docs/r0.16.0/basic.html#register-jar),不应包含引号,但您的语法对我有用(不过我使用的是 0.12.0-cdh5.12.0)。

既然你说你试过没有引号,一些想法:

*您提到尝试添加 hdfs://,这些依赖项是否有机会依赖于 hdfs?看起来不像,因为它们在路径中有下载,但如果是,您将无法在本地模式下找到它们 运行ning pig。如果它们在您的本地文件系统上,您应该能够使用您拥有的路径访问它们,无论您是否 运行 在本地。

*文件真的存在吗?权限对吗?等等

*假设您现在只想解决这个问题,您是否尝试过任何其他注册 jar 的方法,例如 -Dpig.additional.jars.uris=/home/shanky/elephant-bird-hadoop-compat-4.1.jar,/home/shanky/Downloads/elephant-bird-pig-4.1.jar