【问题标题】:Is Apache NiFi a proper instrument for this use case?Apache NiFi 是否适合此用例?
【发布时间】:2020-02-19 10:34:15
【问题描述】:

请帮我选择合适的工具。我有以下任务:有 N 个数据源(N

  • 从数据源中提取数据
  • 转换数据(映射数据以适应目标数据库架构)
  • 加载到数据库

(注意:每个源数据库包含 10-15 个耦合表,包含 100 000 - 1 000 000 行)

我目前正在尝试寻找合适的工具,我相信 Apache NiFi 正是我所需要的:喜欢通过友好的 UI 配置所有内容而不是编码和重新发明轮子的想法。

几个问题:

  • Apache NiFi 看起来是否适合我的任务,否则会有点矫枉过正?
  • 配置 Apache NiFi 与使用我熟悉的某种编程语言(例如 Python)编写自定义脚本相比,配置 Apache NiFi 有什么好处吗?

谢谢!

【问题讨论】:

    标签: etl apache-nifi data-migration


    【解决方案1】:

    Apache NiFi 可能是这个案例的正确答案,但可以归结为细节。

    您拥有许多不同数据源的案例是 NiFi 的常见部署模式,用户将执行以下分层方法:

    1. 从各自的来源引入数据,
    2. 注释/提取数据的关键属性/属性
    3. 将数据转换为规范表示,
    4. 路由到适当的下游消费者,
    5. 通过处理器将其传递到目标存储/系统/服务中

    脚本是有多少人最初倾向于解决这个问题,但可能会导致此类一次性过程的不规则集合,这些过程很难作为一个整体来考虑,也很难解释它们之间的交互。对于将不断发展并可能带来额外源/汇的长期运行数据流,NiFi 是一个很好的产品,可以将这条数据路径纳入一个统一的视图。 UI 进一步使用户能够在这些“规范”不可避免地发生变化时进行更改,并且比更改一个或多个脚本/应用程序更容易做出反应。

    考虑到“简单”ETL 的提及以及您使用数据库以外的其他来源的事实,这似乎非常适合 NiFi 的预期用途范围。 NiFi 不太适合一些更复杂的 ETL 操作,也没有为这些类型的操作定制的 UI。

    【讨论】:

      猜你喜欢
      • 2017-04-20
      • 2020-02-20
      • 1970-01-01
      • 2011-06-05
      • 1970-01-01
      • 2019-01-24
      • 1970-01-01
      • 2015-02-01
      • 2010-10-01
      相关资源
      最近更新 更多