首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >流式数据[Hadoop/MapReduce] -挑战是什么?

流式数据[Hadoop/MapReduce] -挑战是什么?
EN

Stack Overflow用户
提问于 2014-11-28 02:38:17
回答 2查看 216关注 0票数 0

我在很多地方读过关于流数据的文章,但只是试图理解使用Map Reduce技术处理它时所面临的挑战?

即Apache Flume、Apache Storm等框架存在的原因。

请分享你的建议和想法。

谢谢,Ranit

EN

回答 2

Stack Overflow用户

发布于 2014-11-29 04:12:29

有许多技术,其中许多都运行在Hadoop框架上。

较老的Hadoop服务,如Hive,往往很慢,通常用于批处理作业,而不是流。随着流媒体变得越来越必要,其他服务也浮出水面,比如Storm或Spark,它们旨在更快地执行,并与Kafka等消息队列集成以实现流媒体。

然而,在数据分析中,大多数时间处理并不是完全实时的:历史数据可能会以批处理模式进行处理,以提取模型,然后用于实时分析,因此“流”系统通常基于Lambda架构http://lambda-architecture.net/

像Spark这样的服务试图集成所有组件,Spark Streaming用于速度层,Spark SQL用于服务层,Spark MLLib用于建模,所有这些都基于Hadoop分布式文件系统(hdfs)用于复制的大容量存储。

Flume有助于将数据从源定向到hdfs进行原始存储,但为了处理这些数据,需要使用Storm或Spark。

希望这能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2016-08-11 03:00:15

您的问题尚未解决。但我假设您想了解在Map Reduce环境中处理流数据的挑战。

1) Map Reduce主要用于批处理。它用于处理磁盘中静止的大量数据。

2)流数据是一种高速的数据,这些数据来自各种来源,如Web应用程序点击流、社交媒体日志、Twitter标签、应用程序日志。

3)事件流可以是无状态的(假设每个事件都是唯一的),也可以是有状态的(收集2秒的数据并处理它们),但批处理应用程序没有任何这样的要求。

4)流媒体应用需要交付/处理保证。例如,框架必须提供“只有一次”的交付/处理机制,这样它才能处理所有流事件而不会失败。这在批处理中不是一个挑战,因为所有数据都在本地可用。

5)外部连接器:流框架必须支持外部连接,以从各种来源实时读取数据,正如我们在(2)中讨论的那样。这在批处理中不是一个挑战,因为数据在本地可用。

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27177104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档