【问题标题】:Apache NIFI for ETL用于 ETL 的 Apache NIFI
【发布时间】:2017-08-19 20:11:27
【问题描述】:

将 Apache NIFI 用于具有 HDFS 源和 Oracle DB 目标的 ETL 流程的效果如何。 Apache NIFI 与 Pentaho、Datastage 等其他 ETL 工具相比有哪些局限性。

【问题讨论】:

  • 如何评价效果?它是否满足要求? oracle 和 hdfs 连接器 - yes。它可以扩展吗? - yes - 使用 groovy/js/python 编写脚本或构建自定义处理器。列出所有限制? - 至于我,要得到严格的答案,列出你所期望的功能.. IHMO:我会选择 nifi 作为类似 ETL 的任务的工具。
  • 这是一个相当广泛的问题,很难提供客观的答案。您可以在他们的blog 上了解 NiFi 的用例。

标签: etl apache-nifi


【解决方案1】:

NiFi 的主要优势

NiFi的主要优势:

  1. 直观的 GUI,便于检查数据
  2. 强大的交货保证
  3. 低延迟,您可以同时支持批处理和流式用例
  4. 它可以处理任何格式,不仅限于SQL表,还可以移动日志文件等。
  5. 架构感知,并且可以与 Kafka、Flink、Spark 等解决方案共享架构

NiFi 的主要限制

NiFi 确实是一种用于移动数据的工具,您可以对单个记录进行丰富,但通常会提到使用小 t 进行“EtL”。您不想在 NiFi 中做的典型事情是加入两个动态数据源。

对于连接表,经常使用 Spark、Hive 或经典 ETL 替代工具等工具。

对于加入流,经常使用 Flink 和 Spark Streaming 等工具。

结论

NiFi 是一个很棒的工具,您只需确保将它用于正确的用例。如有需要,您可以使用其他工具对其进行补充。


特强全面披露:我是 Cloudera 的员工,该公司支持 NiFi 和其他项目,如 Spark 和 Flink。 我之前使用过其他 ETL 工具,但程度不及作为 NiFi。

【讨论】:

    【解决方案2】:

    不确定 sqoop,我可以解释一下使用 Apache Nifi 的好处。在您的情况下,HDFS 中的数据可以是任何格式(非结构化),Nifi 能够处理并将其转换为您选择的格式,以便您可以直接将其保存到任何 RDBMS。 Nifi 以各种有效的方式处理背压以实现无损传输。

    【讨论】:

      【解决方案3】:

      NiFi 提供而我们的竞争对手通常不具备的关键功能之一是能够在运行时停止作业并检查流和下游系统。对您而言,这意味着您可以针对测试 HDFS 文件夹和测试 Oracle DB 测试流程,让一些数据通过,暂停流程并在 Oracle 周围查看,以确保它在几秒钟或几分钟后符合您的喜好,而不是等待“工作完成”。它使流程非常敏捷。

      【讨论】:

        【解决方案4】:

        其实 Nifi 是一个非常好的工具。您可以轻松操作处理器。您可以在短时间内迁移大量数据。

        但是对于RDBMS这样的目的地,总是有问题。我曾经有很多关于“non-killing”线程的问题,你必须非常小心停止进程和配置处理器。像 QueryDatabasetable 这样的一些处理器会消耗大量内存,导致服务器宕机。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-02-20
          • 1970-01-01
          • 1970-01-01
          • 2018-09-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多