大数据处理利器:Samza与Spark的深度解析
1. Samza简介
Samza是一个纯流处理系统,它为存储和执行层提供了可插拔的实现。常用的插件有YARN和Kafka,这展示了Samza能与Hadoop YARN紧密集成,同时使用完全不同的存储层。通过以下命令可以启动四个作业:JSON解析器、文本清理、统计作业和有状态情感作业。
$ ./gradlew runTasks
Samza目前仍是一个相对较新的项目,当前的功能只是设想中的一部分,建议查看其网页以获取最新状态信息。
2. Hadoop 2与YARN
Hadoop 2尤其是YARN,使Hadoop朝着更灵活、通用的数据处理平台迈进,不再局限于批处理。Samza就是一个很好的例子,它与批处理处于延迟频谱的两端,能够对单个消息进行逐消息处理。此外,Samza还提供了MapReduce开发者熟悉的回调机制,但用于不同的处理模型,并且利用YARN作为主要执行框架。
3. Apache Spark概述
Apache Spark是基于MapReduce泛化的一个数据处理框架,最初由加州大学伯克利分校的AMPLab开发。它像Tez一样,将数据转换建模为有向无环图(DAG),旨在消除MapReduce的I/O开销,以实现大规模的迭代计算。与Tez不同的是,Spark不仅被设计为独立的框架,还提供了用于应用程序开发的API,可进行通用的内存数据处理、流工作流以及交互式和迭代计算。
- 编程语言实现 :Spark用Scala实现,S
超级会员免费看
订阅专栏 解锁全文
1048

被折叠的 条评论
为什么被折叠?



