4

对于一个项目,我需要开发一个 ETL 过程(提取转换负载),该过程从一个(遗留)工具中读取数据,该工具在 REST API 上公开其数据。此数据需要存储在 amazon S3 中。

我真的很喜欢用 apache nifi 试试这个,但老实说,我还不知道如何连接 REST API,以及在哪里/如何实现一些业务逻辑来与源系统“对话正确的协议”。例如,我喜欢跟踪到目前为止已写入的数据,以便它可以继续加载它离开的地方。

到目前为止,我一直在阅读 nifi 文档,并且我可以更好地了解该工具提供/包含的内容。但是,尚不清楚如何在 nifi 架构中实现该任务。

希望有人能给我一些指导吗?

谢谢,保罗

4

1 回答 1

2

InvokeHTTP处理器可用于查询 REST API

这是一个简单的流程

  1. 每 10 分钟在https://api.exchangeratesapi.io/latest查询 REST API
  2. 设置输出文件名 ( exchangerates_<ID>.json)
  3. 将查询响应存储在本地文件系统的输出文件中(在 下/tmp/data-out

在此处输入图像描述

我将流程导出为 NiFi 模板并将其存储在gist中。该模板可以导入 NiFi 实例并按原样运行。

于 2020-01-28T13:53:46.670 回答