Spark快速入门指南
来源:互联网 发布:网络写手吧 编辑:程序博客网 时间:2024/05/24 01:48
这个文档只是简单的介绍如何快速地使用Spark。在下面的介绍中我将介绍如何通过Spark的交互式shell来使用API。
Basics
Spark shell提供一种简单的方式来学习它的API,同时也提供强大的方式来交互式地分析数据。Spark shell支持Scala和Python。可以通过以下方式进入到Spark shell中。
Spark的一个基本抽象概念就是RDD,RDDs可以通过Hadoop InputFormats或者通过其他的RDDs通过transforming来得到。下面的例子是通过加载SPARK_HOME目录下的README文件来构建一个新的RDD
RDDs提供actions操作,通过它可以返回值;同时还提供 transformations操作,通过它可以返回一个新的RDD的引用。如下:
我们再试试transformations操作,下面的例子中我们通过使用filter transformation来一个新的RDD:
我们将transformations操作和actions操作连起来操作:
更多关于RDD上面的操作
RDD的transformations操作和actions操作可以用于更复杂的计算。下面的例子是找出README.md文件中单词数最多的行有多少个单词
map函数负责将line按照空格分割,并得到这行单词的数量,而reduce函数将获取文件中单词数最多的行有多少个单词。map和reduce函数的参数是Scala的函数式编程风格。我们可以直接用Java里面的Math.max()函数,这样会使得这段代码更好理解
我们比较熟悉的一种数据流模式是MapReduce,Spark可以很简单地实现MapReduce流
在上面的代码中,我们结合了flatMap,map和reduceByKey等transformations 操作来计算文件中每个单词的数量,并生成一个(String, Int) pairs形式的RDD。为了计算单词的数量,我们可以用collect action来实现:
Caching
Spark可以将数据集存放在集群中的缓存中。这个在数据集经常被访问的场景下很有用,比如hot数据集的查询,或者像PageRank这样的需要迭代很多次的算法。作为一个简单的列子,下面是将我们自己的linesWithSpark dataset存入到缓存中:
利用Spark来缓存100行的数据看起来有点傻,但是我们可以通过同样的函数来存储非常大的数据集,甚至这些数据集分布在几十或者几百台节点上。
FROM:http://blog.csdn.net/xinxiangsui2008/article/details/51498112
- Spark快速入门指南
- Spark快速入门指南
- Spark快速入门指南
- Spark快速入门指南
- Spark快速入门指南
- Spark快速入门指南
- Spark 之 快速入门指南
- Spark快速入门指南(Quick Start Spark)
- Spark快速入门指南(Quick Start Spark)
- 30分钟--Spark快速入门指南
- Spark快速入门指南 – Spark安装与基础使用
- Spark快速入门指南 – Spark安装与基础使用
- Spark快速入门指南 – Spark安装与基础使用
- Spark快速入门指南 – Spark安装与基础使用
- Spark快速入门指南 – Spark安装与基础使用
- Spark快速入门
- spark快速入门
- spark快速入门
- 关于Matrix在项目中出现过的一些小问题
- 网页设计中常用的19个Web安全字体
- redmon:Redis监控管理Web工具
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解
- 5/24
- Spark快速入门指南
- delphi 7邮件发送程序编写
- 键盘--(微机原理实验五)
- laravel应用搭建
- enable_share_from_this
- hdu 5678 ztr loves trees(dfs序、主席树静态第k大)
- ajax
- Spring缓存注解@Cache使用
- [剑指offer]二叉搜索树的第k个结点