【问题标题】:NiFi's PutHiveStreaming processor does not pick up the properties from the hive-site.xmlNiFi 的 PutHiveStreaming 处理器不会从 hive-site.xml 中获取属性
【发布时间】:2018-05-15 16:19:38
【问题描述】:

我想使用 NiFi 将数据插入配置单元表。

我见过的最好和最简单的选择是使用“PutHiveStreaming”处理器。我知道使用此处理器需要满足的设置;其中一些是关于可以在表创建期间完成的 hive 表,有些是关于 hive 属性,例如:

  1. hive.txn.manager = org.apache.hadoop.hive.ql.lockmgr.DbTxnManager
  2. hive.compactor.initiator.on = true
  3. hive.compactor.worker.threads > 0

我已经在 $HADOOP_HOME/conf 目录中的 hive-site.xml 中设置了这些属性,并在“Hive 配置资源”下提供了该处理器的完整路径。但是,hive-site.xml 中的这些属性不会被此处理器拾取。

Configuration of PutHiveStreaming

很遗憾,我们无权 $HIVE_HOME/conf 或 /etc/hive/conf 直接更改 hive-site.xml。

有人可以解释为什么赋予该处理器的 hive-site.xml 属性没有被拾取,以及在使用 NiFi 时覆盖 hive 属性的解决方法是什么?即:有没有办法为给定的流文件执行多个查询?

【问题讨论】:

    标签: properties hive apache-nifi


    【解决方案1】:

    我相信这些是需要在 HiveServer2 实例上设置的服务器属性,而不是 NiFi 客户端。

    也仅供参考,如果您运行的是 1.2.0 之前的 NiFi 版本,您可能会遇到NIFI-3530。我不认为这是这里的问题,而是您需要在 HiveServer2 实例使用的 hive-site.xml 文件中设置这些属性。

    【讨论】:

    • 感谢您的回复@mattyb。我的问题是,如果我们无权更改服务器属性会怎样?有什么方法可以提供我们自己的 hive-site.xml?
    • 不幸的是,HiveServer2 必须配置为 ACID 表才能使 PutHiveStreaming 工作。您仍然可以使用 PutHDFS 将文件放入 Hadoop 并在其上创建一个非 ACID 表。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-22
    • 1970-01-01
    • 2019-04-03
    • 2019-06-09
    相关资源
    最近更新 更多