如何将hadoop用于web应用程序?

如何将hadoop用于web应用程序?,hadoop,Hadoop,我正在开发一个基于web的社交网络应用程序,它使用ApacheWeb服务器和MYSQL服务器作为数据库,使用codeigniter MVC框架。我不知道如何在这个应用程序中集成Hadoop,以及如何编写map-reduce程序。Hadoop和map-reduce与web应用程序没有直接关系。只要您将web应用程序理解为能够(快速)响应用户输入(web请求)的东西,就不应该将Hadoop集成到web应用程序中 Hadoop和map reduce对于在大型数据集上运行的算法非常有用,以便从这些数据集

我正在开发一个基于web的社交网络应用程序,它使用ApacheWeb服务器和MYSQL服务器作为数据库,使用codeigniter MVC框架。我不知道如何在这个应用程序中集成Hadoop,以及如何编写map-reduce程序。

Hadoop和map-reduce与web应用程序没有直接关系。只要您将web应用程序理解为能够(快速)响应用户输入(web请求)的东西,就不应该将Hadoop集成到web应用程序中


Hadoop和map reduce对于在大型数据集上运行的算法非常有用,以便从这些数据集中转换/提取数据/知识。

我认为Hadoop对于社交网络风格的应用程序有两个“经典”用法。

首先是使用HBASE存储消息和其他动态信息。为了用这种NoSQL解决方案完全取代MySQL,还可以考虑在HBASE中存储用户配置文件。


其次是使用Hadoop MapReduce分析网络。这种分析的一个很好的例子就是寻找朋友的建议

使用hadoop分析数据并将结果放入mysql数据库。然后将其用于您的web应用程序。

虽然Hadoop现在确实主要用于“离线分析”,但它对web项目也很有用。例如,预先计算建议或建议,然后提供给网站用户

另一个使用案例是能够从多个数据源进行ETL,以生成网站的反向索引(例如,具有大量输入数据的工作/汽车/租赁类网站)

当您遇到“大数据”问题时,请始终考虑Hadoop,而不是在您的网站管理少量数据时


使用Hadoop解决这类问题有一些优点和缺点。明显的优点是,它可以使任何类型的批处理过程(如我提到的示例)透明地扩展。缺点是它不是实时的:您不能使用Hadoop每5秒更新一次您的网站。

在您的web应用程序中,您可以使用REST服务从Hadoop获取所需的数据(如作业结果):

是的,可以使用apache Hadoop作为后端制作web应用程序。


您可以使用apache hive和pig创建web应用程序您可以编写自定义映射器和还原器并用作udf,但个人体验很慢,如果数据非常少,最好使用其他数据库并进行分析,我更喜欢spark是更好的响应时间的解决方案

感谢您的回复,我知道Hadoop不是用于实时应用的。它对于脱机处理非常有用。Hbase用于实时动态读写。所以现在就写一篇学习Hbase的文章吧。我的理解是Spark确实具有实时功能,并且通常能够代替MapReduce。时间向你透露了什么,@Rashmi?感谢你的回复,我将Hbase配置为独立模式。如何将此模式用于任何应用程序。我懂Java。我的网站是基于codeigniter和php的。有什么帮助吗。thanksHBase独立模式可以像往常一样使用,但不应用于评估性能,因为不涉及HDFS。你想用HBase解决什么问题?问题是“如何使用Hadoop…”。另外,我不明白你的例子如何与“离线分析”形成对比。您所描述的仍然是离线处理。如何直接实现这一点?-因为没有直接的方法将web应用程序与Hadoop连接起来?你能为这个@shubham提供任何参考网站吗