将jsonserde.jar永久添加到EMR Hive

时间:2015-10-08 23:08:33

标签: hive emr

我们知道

add jar s3://elasticmapreduce/samples/hive-ads/libs/jsonserde.jar;

仅在当前会话期间有效。

有没有办法永久地和全局地将jar添加到Hive,以便jar在群集的生命周期中可用?

更新: 我找到了一种方法:使用aws cli,aws s3 cp s3://elasticmapreduce/samples/hive-ads/libs/jsonserde.jar .下载jar,然后将jar复制到EMR集群的所有节点的/usr/lib/hive/lib

有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

将您的ADD JAR命令插入.hiverc文件并启动配置单元。

 add jar yourjarName.jar
  1. 什么是.hiverc文件?
  2. 这是一个在启动hive shell时执行的文件 - 使其成为在hive shell启动时添加任何hive配置/自定义的理想位置。这可能是:

    • 将列标题设置为在查询结果中可见
    • 使当前数据库名称成为hive提示符的一部分
    • 添加任何jar或文件
    • 注册UDF

    2 .hiverc文件位置

    • 该文件是从hive conf目录加载的。
    • 我有CDH4.2发行版,位置是: /etc/hive/conf.cloudera.hive1
    • 如果文件不存在,您可以创建它。它需要 部署到可以从中启动Hive shell的每个节点。

    REF - http://hadooped.blogspot.in/2013/08/hive-hiverc-file.html