我有各种应用程序服务器(例如Web应用程序),我也一直在使用带有Hbase,Impala,Hive等的hadoop。我可以使用命令行或使用Hue等Web界面获取我正在寻找的结果。
现在如何将Hadoop作为后端与当前应用程序集成,以替换MySQL,MSSQL,Oracle等后端解决方案?
p.s我知道很多都是使用hadoop进行批处理,但HBase确实提供了一些接近实时的分析。即使是批量处理,我也想让用户启动一些分析并返回并在我自己的前端应用程序中查看结果。
答案 0 :(得分:2)
每个框架都提供多个接口,并且它自己的API彼此不兼容。看看Spring Data,这样可以轻松使用多个数据库(RDBMS和NoSQL)。这里(1,2)是关于Spring Data的一些书籍。
我没有关注Spring Data,所以不确定它周围的社区是多么活跃。也许有人可以加入这个。
答案 1 :(得分:1)
具有许多变体的常见模式涉及使用在新摄取的数据(或Storm拓扑或仅仅是Kafka使用者)上反复执行的Hadoop工作流来处理数据并将其缓存在NoSQL DB中。如果您想要以更精细的粒度或弹性搜索或mongoDB存储结果,如果您想要更粗粒度的结果,则可以使用Cassandra或HBase之类的东西。然后,当请求进入您的Web API层时,您的逻辑可以从缓存数据库中提取最新的必要数据,可选地将其转换为正确的格式,应用任何最后一分钟计算并将数据作为JSON对象。