代码之家  ›  专栏  ›  技术社区  ›  Shashank Tripathi

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

  •  1
  • Shashank Tripathi  · 技术社区  · 7 年前

    有人能帮我找出为什么在使用REGISTER注册jar文件“大象鸟”来加载json数据时出错:

    我在清管器0.16的本地模式下工作,得到错误: /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语句,但没有任何效果。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Adair    7 年前

    根据清管器文件,不应包括报价( https://pig.apache.org/docs/r0.16.0/basic.html#register-jar ),但您的语法确实对我有用(不过我使用的是0.12.0-cdh5.12.0)。

    既然你说你在没有引用的情况下试过了,那么一些想法:

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

    *文件真的存在吗?权限是否正确?等

    *假设您现在只想回避这个问题,那么您是否尝试过任何其他注册jar的方法,例如-Dpig。附加的罐。URI=/home/shanky/elephant-bird-hadoop-compat-4.1。jar,/home/shanky/Downloads/elephant-bird-pig-4.1。罐子

    推荐文章