Hadoop用例场景
Posted
技术标签:
【中文标题】Hadoop用例场景【英文标题】:Hadoop use-case scenario 【发布时间】:2014-08-09 08:01:47 【问题描述】:我想就在我的一个项目场景中使用像 Hadoop 这样的大数据平台获得一些专家意见。尽管我非常了解 mysql 之类的数据库,但我完全是这项技术的新手。
我们正在开发一种产品,用于分析来自社交媒体的数据。因此,输入数据将是大量推文、Facebook 帖子、用户个人资料、YouTube 数据和博客数据等。除此之外,我将拥有一个 Web 应用程序来帮助我查看和分析这些数据。正如需求所表明的那样,我需要一种实时系统。因此,如果我有一条推文进来,我希望它可以方便地用于我的网络应用程序以进行处理。批处理数据处理可能不适合我的应用程序。
我的问题是:
Hadoop 引擎是否适合我? 我应该根据哪些参数做出决定? 相对于 Hadoop,使用多集群 MySQL 引擎是否也是一个不错的选择? 在数据大小和速度方面是否有任何基准测试可以让 Hadoop 成为不错的选择?【问题讨论】:
【参考方案1】:Hadoop 不适用于近实时/交互式分析。 Hadoop 的设计目的是对几个小时的数据进行大批量处理。我曾经使用 Hadoop 来处理任何大约 10 GB 或更大的数据集(这仍然有点矫枉过正),一旦达到 100 GB,那么你就需要像 Hadoop 这样的东西。
现在我的建议是 Spark,因为它更现代、更快、更灵活、更强大,并且有一个 SparkStreaming 模块可以实现更接近实时的分析。阅读所有关于它的内容! https://spark.apache.org/
【讨论】:
【参考方案2】:在这种情况下,我更喜欢 Lambda 架构。
使用 Lambda 架构,您有两条路线:一条带有用于当前信息的 noSQL 数据库的快速路线,一条带有用于存档数据的 hadoop-hdfs 的批处理路线,并且您可以使用合并组件在一个查询中合并两个数据源,因此您会收到近乎实时的大量数据。
http://lambda-architecture.net/
关于 lambda 架构的图片:http://i.stack.imgur.com/eofRW.png
我们使用 Lambda 架构创建了一个 PoC 项目(也用于 Twitter 分析),并且运行良好。
【讨论】:
【参考方案3】:Spark 将是您问题的最佳解决方案。您还可以查看其他内存数据库。
【讨论】:
以上是关于Hadoop用例场景的主要内容,如果未能解决你的问题,请参考以下文章