
spark
文章平均质量分 71
sicofield
这个作者很懒,什么都没留下…
展开
-
Spark RDD编程
Spark RDD编程概述从高层次上来看,每一个Spark应用都包含一个驱动程序,用于执行用户的main函数以及在集群上运行各种并行操作。Spark提供的主要抽象是弹性分布式数据集(RDD),这是一个包含诸多元素、被划分到不同节点上进行并行处理的数据集合。RDD通过打开HDFS(或其他hadoop支持的文件系统)上的一个文件、在驱动程序中打开一个已有的Scala集合或由其他RDD转换操作得到。用户可原创 2016-03-17 14:52:40 · 2835 阅读 · 0 评论 -
Spark之中map与flatMap的区别
Spark之中map与flatMap的区别一直不太明白spark之中map与flatMap之间的区别。map的作用很容易理解就是对rdd之中的元素进行逐一进行函数操作映射为另外一个rdd。flatMap的操作是将函数应用于rdd之中的每一个元素,将返回的迭代器的所有内容构成新的rdd。通常用来切分单词。区别1: flatMap返回的是迭代器中的元素。上面的例子说明对于传递给flatMap的函数返回原创 2016-03-17 15:15:08 · 32360 阅读 · 2 评论 -
Pair RDD基本操作
Pair RDD基本操作虽然大部分Spark的RDD操作都支持所有种类的对象,但是有少部分特殊的操作只能作用于键值对类型的RDD。这类操作中最常见的就是分布的shuffle操作,比如将元素通过键来分组或聚集计算。在Python中,这类操作一般都会使用Python内建的元组类型,比如(1, 2)。生成的键值对的RDD称为PairRDD。创建Pair RDD有很多种创建键值对的方式,很多存储键值对的数据原创 2016-03-21 16:46:52 · 3189 阅读 · 0 评论 -
Spark—聚合操作—combineByKey
聚合操作——combineByKey当数据集一键值对形式组织的时候,聚合具有相同键的元素进行一些统计是很常见的操作。对于Pair RDD常见的聚合操作如:reduceByKey,foldByKey,groupByKey,combineByKey。这里重点要说的是combineByKey。在数据分析中,处理Key,Value的Pair数据是极为常见的场景,例如我们可以针对这样的数据进行分组、聚合或者将原创 2016-03-22 18:30:08 · 10816 阅读 · 0 评论 -
Spark-RDD 分区
RDD分区在分布式程序中,通信的代价是很大的,因此控制数据分布以获得最少的网络传输可以极大地提升整体性能。所以对RDD进行分区的目的就是减少网络传输的代价以提高系统的性能。RDD的特性在讲RDD分区之前,先说一下RDD的特性。RDD,全称为Resilient Distributed Datasets,是一个容错的、并行的数据结构,可以让用户显式地将数据存储到磁盘和内存中,并能控制数据的分区。同时,R原创 2016-03-25 17:58:37 · 12029 阅读 · 3 评论