如何将外部源(主要是Restful)的数据带到HDFS?

How to bring data from external sources (mainly Restful) to HDFS?

这是更多与设计相关的问题。我是一名 java 开发人员,并且是 hadoop 大数据世界的新手;在我的 Hortonworks HDP 沙箱中学习 hadoop(它是由 Hortonworks 作为 VM 提供的单节点伪集群)。

我设计了一个 Java restful api 与我创建的虚拟数据库交互。 api/client 将向 uri 发送一系列 "GET" 请求,并将结果主体存储为本地 hortonworks Unix 服务器中的 table 表单 (TSV) 文本文件。从那里我将 copyFromLocal 复制到 HDFS 以进行进一步处理。

  1. 是否有设计用于执行此操作的开源 hadoop 组件,我可以将 api 设计为 Map-Reduce 作业,并将 reducer 的数量设置为零吗?我正在寻找更好的选择。

  2. 我可以在 Hue/HDP 中创建脚本操作或 java 操作作为 oozie 工作流吗?

如果您的全部目标是以 TSV 形式将数据从数据库导出到 HDFS,那么使用 Sqoop tool 可以非常轻松地完成此操作。

Sqoop 是一个Hadoop 生态系统组件,它可以直接连接到您的rdbms 数据库并且可以导入带有自定义分隔符的表的记录。我希望这会简化您的要求的实施。