大数据技术入门之分布式处理、并行处理和MapReduce
什么是大数据?
百度百科解释为:
“是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。”
有点高级有点绕。简化一下,大数据就是拥有很高价值不能轻易被推倒(咳)处理的数据集合。就像你要去打一个数据究极体的boss,你需要带上最好的剑,翻过最高的山,闯进深的森林。boss挂了,自然你获得的经验值也是最高的。
那么这个数据究极体该如何打呢?
战术打击: 分布式处理 distributed processing & 并行处理 Parallel processing
上理论:
“分布式处理则是将不同地点的,或具有不同功能的,或拥有不同数据的多台计算机通过通信网络连接起来,在控制系统的统一管理控制下,协调地完成大规模信息处理任务的计算机系统。”
“并行处理是利用多个功能部件或多个处理机同时工作来提高系统性能或可靠性的计算机系统,这种系统至少包含指令级或指令级以上的并行。”
理论不想看,那上图:
嗯?图也不想看?
那你只好听我粗鄙的类比了。就像上面咱说过的,把大数据看做是一个数据究极体大boss。那勇士要如何击倒boss救公主呢?关键一招:影分身之术!打过boss的人都知道,单枪匹马不如团体作战。团队中需要有抗怪的肉盾,开大的法师,远攻的射手,控怪的辅助,当然必须要带上奶妈。为了让大boss爆出价值这一目标,不同技能同时输出,妙啊。看到这里,你是不是对大数据的分布式处理,与并行处理稍微有些感觉了呢?
好了,战术知道了。下一步,该挑武器了,打怪总不能靠空手接白刃吧。
数据处理:Hive,Pig,H·Base,hadoop MapReduce
数据管理:HDFS
资源管理:YARN
具体的解释与差异,网上可以搜到很多详细介绍,此处不赘述。
需要一提的是:Apache Spark
- 专为大规模数据处理而设计的快速通用的计算引擎
- 类Hadoop MapReduce的通用并行框架
- 拥有Hadoop MapReduce所具有的优点
- 但Job中间输出结果可以保存在内存中,从而不再需要读写HDFS
- Spark 是在 Scala 语言中实现的,将 Scala 用作其应用程序框架
上文好像反复提到了一个概念,MapReduce 这“地图减少”又是个什么?
上理论:
“MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)“和"Reduce(归约)”,是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。”
这可真是太长了。我来划一下重点:
- MapReduce是一种编程模型
- Map(映射);Reduce(归约)
- 不需要掌握分布式并行编程,但是可以将程序运行在分布式系统上
- Map(映射)函数:把一组 键值对 映射成 一组 新的键值对
- Reduce(归约)函数:保证 所有 映射的键值对中的 每一个 共享 相同的 键组
看图:
是不是稍微有点概念了呢?
第一篇博客先写到这吧~ (●´∀‘●)
Good Good Study
Day Day No Hair
与大家共勉!
- 大数据应用技术实验报告三 MapReduce分布式编程
- 大数据入门环境搭建整理、大数据入门系列教程合集、大数据生态圈技术整理汇总、大数据常见错误合集、大数据的离线和实时数据处理流程分析
- Java分布式处理技术(RMI、JNDI)
- 大数据处理的核心技术有哪些?
- 大数据技术入门
- 海量数据处理之从Hadoop框架与MapReduce模式中谈海量数据处理(淘宝技术架构)
- 从Hadoop框架与MapReduce模式中谈海量数据处理(含淘宝技术架构)
- 【Gearman学习笔记】分布式处理入门
- 从Hadoop框架与MapReduce模式中谈海量数据处理(淘宝技术架构)
- 分布式消息处理Kafka入门
- 从Hadoop框架与MapReduce模式中谈海量数据处理(含淘宝技术架构)
- 大数据处理基础之scala编程语言入门
- 大数据处理技术怎么学习呢,学习大数据要学习那个方向呢?
- 大数据时代之hadoop(五):hadoop 分布式计算框架(MapReduce)
- 工业互联网平台核心技术之三:并行计算与分布式计算
- 用Apache Spark进行大数据处理-第一部分:入门介绍
- 分布式计算框架MapReduce入门 06
- 分布式处理框架MapReduce
- 大数据处理基础之利用hadoop写的简单mapreduce案例
- 处理海量数据的模式MapReduce,大规模数据集的并行运算