Spark问题笔记5
2015-10-05 22:03
190 查看
对于文本文件,在Spark中,一行就是一条记录,若干条记录组成一个集合。我们
原来的算法直接在每一行上进行计算,就不行了。需要先构建数据集,然后通过数据集的操作,
实现我们的目的。
将数据载入并构造数据集
在Spark中,这个数据集被称为`RDD` :弹性分布数据集。
对数据集进行map操作
将原始记录映射为新的记录,并返回一个新的RDD。
对map后的数据集进行collect操作,获得合并的结果
collect操作提取RDD中的全部数据到本地。
Spark的RDD自动进行数据的切分和结果的整合。Spark提供了80多种操作符对集合进行操作。
SparkContext对象代表整个Spark集群,是Spark框架功能的入口,可以用来在集群中创建RDD、累加器变量和广播变量。
SparkContext对象创建时可以指明连接到哪个集群管理器上,在Spark-Shell启动时,默认连接到本地的集群管理器。
Spark的核心抽象是一个分布式数据集,被称为弹性分布数据集(RDD) ,代表一个不可变的、可分区、可被并行处理 的成员集合。
RDD对象需要利用SparkContext对象的方法创建,Spark支持从多种来源创建RDD对象,比如:从本地文本文件创建、从Hadoop 的HDFS文件创建、或者通过对其他RDD进行变换获得新的RDD。
RDD的内部实现了分布计算的功能,我们在RDD上执行的操作,是透明地在整个集群上执行的。也就是说,当RDD建立
后,这个RDD就不属于本地了,它在整个集群中有效。当在RDD上执行一个操作,RDD内部需要和集群管理器进行沟通协商。对一个RDD可以进行两种操作:动作(action)和变换(transformation)。动作总是从集群中取回数据,变换总是获得一个新的RDD,这是两种操作的字面上的差异。在RDD上执行一个变换时,RDD仅仅记录要做的变换,只有当RDD上需要执行一个动作时,RDD才
通过集群管理器启动实质分布计算。
在使用Spark时,最好在脑海中明确地区隔出两个区域:本地域和集群域。RDD属于集群域,那是Spark管辖的地带;
RDD的动作结果属于本地域,这是我们的地盘。只有当RDD的数据返回本地域,我们才能进行再加工,比如打印等等。
http://www.hubwiz.com/
原来的算法直接在每一行上进行计算,就不行了。需要先构建数据集,然后通过数据集的操作,
实现我们的目的。
将数据载入并构造数据集
在Spark中,这个数据集被称为`RDD` :弹性分布数据集。
对数据集进行map操作
将原始记录映射为新的记录,并返回一个新的RDD。
对map后的数据集进行collect操作,获得合并的结果
collect操作提取RDD中的全部数据到本地。
Spark的RDD自动进行数据的切分和结果的整合。Spark提供了80多种操作符对集合进行操作。
SparkContext对象代表整个Spark集群,是Spark框架功能的入口,可以用来在集群中创建RDD、累加器变量和广播变量。
SparkContext对象创建时可以指明连接到哪个集群管理器上,在Spark-Shell启动时,默认连接到本地的集群管理器。
Spark的核心抽象是一个分布式数据集,被称为弹性分布数据集(RDD) ,代表一个不可变的、可分区、可被并行处理 的成员集合。
RDD对象需要利用SparkContext对象的方法创建,Spark支持从多种来源创建RDD对象,比如:从本地文本文件创建、从Hadoop 的HDFS文件创建、或者通过对其他RDD进行变换获得新的RDD。
RDD的内部实现了分布计算的功能,我们在RDD上执行的操作,是透明地在整个集群上执行的。也就是说,当RDD建立
后,这个RDD就不属于本地了,它在整个集群中有效。当在RDD上执行一个操作,RDD内部需要和集群管理器进行沟通协商。对一个RDD可以进行两种操作:动作(action)和变换(transformation)。动作总是从集群中取回数据,变换总是获得一个新的RDD,这是两种操作的字面上的差异。在RDD上执行一个变换时,RDD仅仅记录要做的变换,只有当RDD上需要执行一个动作时,RDD才
通过集群管理器启动实质分布计算。
在使用Spark时,最好在脑海中明确地区隔出两个区域:本地域和集群域。RDD属于集群域,那是Spark管辖的地带;
RDD的动作结果属于本地域,这是我们的地盘。只有当RDD的数据返回本地域,我们才能进行再加工,比如打印等等。
http://www.hubwiz.com/
相关文章推荐
- 玩转Google开源C++单元测试框架Google Test系列(gtest)
- TCP/IP协议原理与应用笔记13:底层网络技术之传输介质
- hdu 5490 Simple Matrix 递推公式+逆元+组合数
- iOS编程------集合视图UICollectionView
- 爬虫入门——02
- iOS开发分分钟搞定C语言 —— 流程控制
- CodeVS 第四次月赛 题解
- JSHint中文参考
- Django如何重设Admin密码
- Android: 在onCreate()中获得对象尺寸
- spring Properties作为修饰属性的类型
- 克鲁斯卡尔算法(Kruskal)
- lua快速入门[转]
- MySQL事务处理
- 大话数据结构(2)--数据-横看成岭侧成峰
- HDU 4757 Tree (倍增算法求LCA + 可持久化Trie树)
- 前向定义导致 程序编译出现"field has incomplete type"问题的解决
- nginx+gunicorn+bottle
- eclipse启动时卡在 Initializing Java Tooling 1% 的解决办法!
- 程序的核心--复杂度