首页 > 解决方案 > NiFi 的 PutHiveStreaming 处理器不会从 hive-site.xml 中获取属性

问题描述

我想使用 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 中的这些属性不会被此处理器拾取。

PutHiveStreaming 的配置

不幸的是,我们无权 $HIVE_HOME/conf 或 /etc/hive/conf 直接更改 hive-site.xml。

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

标签: propertieshiveapache-nifi

解决方案


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

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


推荐阅读