目前,在我公司,每个需要从HDFS向用户提供数据的团队都为该任务创建了自己的工具。
我们想创建一个通用工具,用于通过HTTP从HDFS到我的服务快速/实时地提供数据。所谓通用,是指该工具仅应为添加到配置中的所选服务提供数据,这应该是用户使用该通用工具必须执行的唯一操作。应该通知此新工具有关HDFS中出现的新数据的信息,然后调用某种作业将数据从HDFS移到我们的快速存储中。
应用程序可以每天或每小时更新数据,但是每个服务都可以在不同时间进行更新(服务A可以每天早上7点更新,服务B可以每小时更新)。我认为我们不想使用任何模式,并希望仅使用键和分区日期来访问我们的数据。不需要查询。
我们还不知道我们的工具需要承受每秒多少容量或读写。
我们已经为问题解决了一些解决方案,但我们对开放源代码中已经有类似的解决方案,或者你们中有人有类似的用例感兴趣?这是我们对体系结构的建议:architecture
如果需要通过HTTP访问HDFS,则WebHDFS可能适合您的用例。您可以添加一个缓存层来加快对热文件的请求,但是我认为,只要您使用的是HDFS,就不会对任何尚未缓存的文件获得亚秒级的响应。您必须确定是否可以接受。
我不确定WebHDFS处理大文件的性能如何。
https://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-hdfs/WebHDFS.html