###简介数组
###transformation操做:并发
map(func):对调用map的RDD数据集中的每一个element都使用func,而后返回一个新的RDD,这个返回的数据集是分布式的数据集 filter(func) : 对调用filter的RDD数据集中的每一个元素都使用func,而后返回一个包含使func为true的元素构成的RDD flatMap(func):和map差很少,可是flatMap生成的是多个结果 mapPartitions(func):和map很像,可是map是每一个element,而mapPartitions是每一个partition mapPartitionsWithSplit(func):和mapPartitions很像,可是func做用的是其中一个split上,因此func中应该有index sample(withReplacement,faction,seed):抽样 union(otherDataset):返回一个新的dataset,包含源dataset和给定dataset的元素的集合 distinct([numTasks]):返回一个新的dataset,这个dataset含有的是源dataset中的distinct的element groupByKey(numTasks):返回(K,Seq[V]),也就是hadoop中reduce函数接受的key-valuelist reduceByKey(func,[numTasks]):就是用一个给定的reduce func再做用在groupByKey产生的(K,Seq[V]),好比求和,求平均数 sortByKey([ascending],[numTasks]):按照key来进行排序,是升序仍是降序,ascending是boolean类型 join(otherDataset,[numTasks]):当有两个KV的dataset(K,V)和(K,W),返回的是(K,(V,W))的dataset,numTasks为并发的任务数 cogroup(otherDataset,[numTasks]):当有两个KV的dataset(K,V)和(K,W),返回的是(K,Seq[V],Seq[W])的dataset,numTasks为并发的任务数 cartesian(otherDataset):笛卡尔积就是m*n,你们懂的
###action操做:分布式
reduce(func)://说白了就是汇集,可是传入的函数是两个参数输入返回一个值,这个函数必须是知足交换律和结合律的 collect():通常在filter或者足够小的结果的时候,再用collect封装返回一个数组 count():返回的是dataset中的element的个数 first():返回的是dataset中的第一个元素 take(n):返回前n个elements,这个士driver program返回的 takeSample(withReplacement,num,seed):抽样返回一个dataset中的num个元素,随机种子seed saveAsTextFile(path):把dataset写到一个text file中,或者hdfs,或者hdfs支持的文件系统中,spark把每条记录都转换为一行记录,而后写到file中 saveAsSequenceFile(path):只能用在key-value对上,而后生成SequenceFile写到本地或者hadoop文件系统 countByKey():返回的是key对应的个数的一个map,做用于一个RDD foreach(func):对dataset中的每一个元素都使用func