Spark:大数据的电花火石!
来源:互联网 发布:spss19.0软件下载 编辑:程序博客网 时间:2024/04/27 14:48
什么是Spark?可能你很多年前就使用过Spark,反正当年我四六级单词都是用的星火系列,没错,星火系列的洋名就是Spark。
当然这里说的Spark指的是Apache Spark,Apache Spark™is a fast and general engine for large-scale data processing: 一种快速通用可扩展的数据分析引擎。如果想要搞清楚Spark是什么,那么我们需要知道它解决了什么问题,还有是怎么解决这些问题的。
Spark解决了什么问题?
在这里不得不提大数据,大数据有两个根本性的问题,一个是数据很大,如何存储?另外一个是数据很大,如何分析?毕竟分析大数据是为了改善产品的用户体验,从而获取更多的价值。
对于第一个问题,开源社区给出的方案就是HDFS,一个非常优秀的分布式存储系统。
对于第二个问题,在Hadoop之 后,开源社区推出了许多值得关注的大数据分析平台。这些平台范围广阔,从简单的基于脚本的产品到与Hadoop 类似的生产环境。Bashreduce在 Bash环境中的多个机器上执行 MapReduce 类型的操作,可以直接引用强大的Linux命令。GraphLab 也是一种MapReduce 抽象实现,侧重于机器学习算法的并行实现。还有Twitter 的 Storm(通过收购 BackType 获得)。Storm 被定义为 “实时处理的 Hadoop”,它主要侧重于流处理和持续计算。
Spark就是解决第二个问题的佼佼者。Why Spark?
Why Spark?
现在有很多值得关注的大数据分析平台,那么为什么要选择Spark呢?
速度
与Hadoop的MapReduce相比,Spark基于内存的运算比MR要快100倍;而基于硬盘的运算也要快10倍!
(From the Project HomePage)
易用
Spark支持Java,Python和Scala。而且支持交互式的Python和Scala的shell,这意味这你可以非常方便的在这些shell中使用Spark集群来验证你的解决问题的方法,而不是像以前一样,打包。。。这对于原型开发非常重要!
Hadoop的WorldCount的Mapper和Reducer加起来要20多行吧。Spark仅需要:
- val file = spark.textFile("hdfs://...")
- val counts = file.flatMap(line => line.split(" "))
- .map(word => (word, 1))
- .reduceByKey(_ + _)
- counts.saveAsTextFile("hdfs://...")
- Spark:大数据的电花火石!
- Spark:大数据的电花火石!
- Spark:大数据的电花火石!
- Spark:大数据的电花火石!
- 大数据的电花火石!
- Spark:大数据的电花
- Spark:大数据的“电光石火”
- Spark:大数据的“电光石火”
- Spark:大数据的“电光石火”
- Spark:大数据的“电光石火”
- Spark:大数据的“电光石火”
- Spark:大数据的“电光石火
- Spark:大数据的“电光石火”
- Spark:大数据的“电光石火”
- Spark:大数据的“电光石火”
- Spark:大数据的“电光石火”
- Spark:大数据的“电光石火”
- [大数据]大数据框架Hadoop和Spark的异同
- Jquery源码分析---Ajax分析
- 杜永光分享微信营销如何涨粉丝
- 河南大业王恒:兼职网络诈骗上升,假期兼职需擦亮眼睛
- OpenCV--数字图像灰度直方图
- 安卓UI设计系列知识(一)之手机适配多分辨率适配
- Spark:大数据的电花火石!
- 联播大业王恒:儿童理财计划怎么才能赢在起跑线
- Qt标准对话框之QMessageBox
- apache 虚拟目录配置
- Qt编程8:QProcess的简单使用一(调用外部应用程序)
- 联播大业王恒:兼职网络诈骗数量上升,假期兼职要擦亮眼睛
- Android用GSon处理Json数据
- I2C总线在Linux系统中的驱动设计
- 设计模式六大原则(1):单一职责原则