【问题标题】:NiFi or Streamsets to read from HBase , join with content from flat file and write to HiveNiFi 或 Streamsets 从 HBase 读取,加入平面文件中的内容并写入 Hive
【发布时间】:2017-05-03 23:13:07
【问题描述】:

试图弄清楚是否可以使用 apache NiFi 或 Streamsets 实现连接。这样我就可以定期从 HBase 读取数据,加入其他表并将少量字段写入 Hive 表。

或者有没有其他支持这种操作的工作流管理工具?

【问题讨论】:

    标签: hadoop hive hbase apache-nifi streamsets


    【解决方案1】:

    我不熟悉 Streamsets,但我会尽力帮助 NiFi。你的平面文件是静态的吗?如果是这样,您是否希望直接替换值?您应该能够为此使用ReplaceTextWithMapping 处理器。如果不是直接替换,您可以使用平面文件中的值预先填充 DistributedMapCache,然后使用 FetchDistributedMapCache 对 HBase 记录进行查找。

    如果所有其他方法都失败了,那么如果您对 Groovy、Javascript 或 Jython 等脚本语言感到满意,您可以使用 ExecuteScriptInvokeScriptedProcessor 编写“加入”部分。

    在支持 CSV 文件、属性文件和内存查找的查找/扩充处理器上有一个 open Jira case(取得了一些良好的进展)。

    【讨论】:

    • 谢谢,FetchDistributedMapCache 似乎是我正在寻找的那个。也可以定期做。例如,我有一个不断填充新行的表,我想每小时汇总一次前一小时的数据(与其他静态表的连接)。那么 NiFi 会记住哪些时间已经汇总,哪些需要在休息时间选择?聚合将在少数列上具有 SUM/AVG。
    • 它不会做聚合,缓存仅用于查找。在即将发布的 NiFi 1.2.0 版本中,您可以使用 UpdateAttribute 在文件流过时保持运行计数/总和
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-06
    • 2018-03-12
    • 1970-01-01
    • 2018-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多