1. 初始化Spark 2. 创建RDD的方法 内存:Parallelize 或者 makeRDD 外部文件:textFile 3. 键值对 下面两者等价: reduceByKey 和sortByKey、groupByKey 1)返回key 以及 每个key的个数 (key, cnt) 2)返回 ( ...
分类:
其他好文 时间:
2016-09-13 11:39:22
阅读次数:
147
最关键的是转换算子Transformations和缓存算子Actions。 主要是对RDD进行操作。 RDD Objects -> Scheduler(DAGScheduler) -> Exectorss ,如同,人类一样,不断进化。 ...
分类:
其他好文 时间:
2016-09-11 09:05:43
阅读次数:
123
转载自:https://www.iteblog.com/archives/1648 前言: 很多初学者其实对于Spark的编程模式还是RDD这个概念理解不到位,就会产生一些误解。比如,很多时候我们常常以为一个文件是会被完整读入到内存,然后做各种变换,这很可能是受两个概念误导所致: 1.RDD的定义, ...
分类:
其他好文 时间:
2016-09-09 14:59:45
阅读次数:
158
Transformer: 是一个抽象类包含特征转换器, 和最终的学习模型, 需要实现transformer方法 通常transformer为一个RDD增加若干列, 最终转化成另一个RDD, 1. 特征转换器通常处理一个dataset, 把其中一列数据转化成一列新的数据。 并且把新的数据列添加到dat ...
分类:
其他好文 时间:
2016-09-08 21:47:52
阅读次数:
140
General logical plan 典型的 Job 逻辑执行图如上所示,经过下面四个步骤可以得到最终执行结果: 从数据源(可以是本地 file,内存数据结构, HDFS,HBase 等)读取数据创建最初的 RDD。上一章例子中的 parallelize() 相当于 createRDD()。 对 ...
分类:
其他好文 时间:
2016-09-07 22:19:56
阅读次数:
225
保存Key/Value对的RDD叫做PairRDD。1.创建PairRDD:1.1创建PairRDD的方式:很多数据格式在导入RDD时,会直接生成PairRDD。我们也可以使用map()来将之前讲到的普通RDD转化为PairRDD。1.2PairRDD转化实例:下面例子中,把原始RDD,修改成首单词做Key,整行做Value的PairRDD。Java..
分类:
其他好文 时间:
2016-09-06 23:43:48
阅读次数:
242
foreach(f: T => Unit) foreachPartition(f: Iterator[T] => Unit) getCheckpointFile getNumPartitions getStorageLevel isCheckpointed isEmpty() max() min() ...
分类:
其他好文 时间:
2016-09-04 17:26:45
阅读次数:
466
collectAsMap(): Map[K, V] countByKey(): Map[K, Long] countByValue() lookup(key: K) checkpoint() 将RDD数据根据设置的checkpoint目录保存至硬盘中。 collect() toLocalIterat ...
分类:
其他好文 时间:
2016-09-04 17:11:47
阅读次数:
178
cache和persist 将RDD数据进行存储,persist(newLevel: StorageLevel)设置了存储级别,cache()和persist()是相同的,存储级别为MEMORY_ONLY。因为RDD的transformation是lazy的,只有action算子才会触发transf ...
分类:
其他好文 时间:
2016-09-04 11:34:36
阅读次数:
137
RDD基础:Spark中RDD是不可变的分布式对象集合。每个RDD被分为多个分区,这些分区运行在集群中的不同节点上。RDD可以包含任意类型的对象(甚至可以是自定义的)。
分类:
其他好文 时间:
2016-09-04 00:21:11
阅读次数:
149