【问题标题】:Write Hive Table Data into a file in Json Format将 Hive 表数据写入 Json 格式的文件
【发布时间】:2016-10-16 03:44:03
【问题描述】:

我正在尝试将 Hive 表数据写入 Json 格式的外部文件。

({"column_name_1: column_value_1", "column_name_2: column_value_2"}).

serde 能做到吗?我读serde只读取json格式的数据,不写回。

我读到了brickhouse,但我无法正确添加 jar。

我按照上面提供的链接中的文档中的所有步骤操作,但失败了。我这样做对吗?

add jar /root/brickhouse/target/brickhouse-0.7.1-SNAPSHOT.jar;
/root/brickhouse/target/brickhouse-0.7.1-SNAPSHOT.jar does not exist
Query returned non-zero code: 1, cause: /root/brickhouse/target/brickhouse-0.7.1-SNAPSHOT.jar does not exist

【问题讨论】:

    标签: json jar hive brickhouse


    【解决方案1】:
    • 将 Jar 添加到 HiveServer2 的 HIVE_AUX_JARS_PATH

      1. 将brickhouse-0.7.1-SNAPSHOT.jar 文件复制到运行HiveServer2 的主机。创建以下目录 /usr/share/hivejar 并将 JAR 保存在此处。
      2. 修改hive-site.xml 在终端执行以下命令:

        sudo vi /etc/alternatives/hive-conf/hive-site.xml:
        
        <property>
        <name>hive.metadata.export.location</name>
        <value>export HIVE_AUX_JARS_PATH=/usr/share/hivejar</value>
        </property>
        
      3. 重新启动 Hive 服务。如果配置了 Hive Auxiliary Jars Directory 属性但该目录不存在,HiveServer2 将不会启动。
    • 检查 Hive 的 ENV 变量在终端上执行以下命令:

      hive 
      hive> set -v;
      hive> quit;
      
    • 在终端(在 /usr/share/hivejar 下)执行以下命令:

      hive
      
      hive> add jar brickhouse-0.7.1-SNAPSHOT.jar;
      hive> quit;
      

    【讨论】:

    • 谢谢,还有一个问题:如何“获取 src/main/resource/brickhouse.hql 中定义的 UDF 声明”?
    • 添加 jar 后,创建一个临时函数:CREATE TEMPORARY FUNCTION to_json AS 'brickhouse.udf.json.ToJsonUDF';
    猜你喜欢
    • 1970-01-01
    • 2014-12-01
    • 2017-06-03
    • 2015-04-28
    • 2016-11-12
    • 2020-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多