apache - 如何使用 Apache Nifi 查询 REST API?

标签 apache rest bigdata apache-nifi

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

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

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

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

谢谢,
保罗

最佳答案

InvokeHTTP处理器可用于查询 REST API。

这是一个简单的流程

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

  • enter image description here

    我将流程导出为 NiFi 模板并将其存储在 a gist .模板可以是imported into a NiFi instance并按原样运行。

    关于apache - 如何使用 Apache Nifi 查询 REST API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36204026/

    相关文章:

    apache - NoClassDefFoundError HBase与YARN

    apache - 编辑多个 .htaccess 文件

    java - 在 Struts 2 中使用 Spring Controller 创建 REST API

    bash - 在 bash 中找不到 Ant 命令(Windows 32 位)

    java - 使用 Springservlet 实现 Weblogic Rest 服务

    jquery - 将 JSON 数据发布到 .asmx Web 服务

    mysql - 从 Sql 数据库迁移到 NoSql 数据库的限制

    performance - 在 BigQuery 中有效地获取每个日期每个 ID 过去 6 个月内所有以前日期的数组

    hadoop - 从 Cassandra 加载数据

    linux - 用于捕获用户拥有的文件的 Cgi-bin 脚本