我将在我的新项目中使用Hadoop。项目概念如下图所示:
用户拥有生成一些数据(日志)的设备。用户可以将设备中的数据作为文件获取并上传到web app / hadoop。我将使用Ruby on Rails构建Web应用程序。
我了解Hadoop的一些基础知识(HDFS,Mappers,Reducers),但我不知道如何以实用的方式使用Hadoop。该项目现在只是一个概念,因为我想先得到一些提示,然后调整项目的组件以收集提示。
我的主要考虑因素是:
- Web应用程序应该存储在与Hadoop相同的位置吗? (相同的服务器/云/服务提供商)
- 如何上传文件?可以在网络应用表单上传文件吗?或者创建桌面应用程序以上传文件(可能的文件大小:100MB - 1GB)更好吗?
- 如果它是桌面应用程序,最好将数据直接发送到Hadoop或通过Web应用程序以某种方式发送?
- 您能指出一些有用的框架/工具/ API /资源,以便从外部资源(我的网络应用程序或桌面应用程序)上传吗?
- 如何以正确的方式使用Hadoop数据?我们假设用户的文件来到Hadoop。我知道我可以在这个文件上运行Mappers和Reducers来生成输出文件(或者将一些数据放到HBase中 - 我是对的?)。要获得这些数据,我需要正确的输出文件或从HBase获得一些“SELECT”,我是对的吗? Hadoop是否包含在作业完成时向外部Web应用程序发送信息的任何触发器?
醇>
我很欣赏这个主题的每一个暗示。