1.sortByKey() 功能: 返回一个根据键排序的RDD 示例 val list = List(("a",3),("b",2),("c",1)) val pairRdd = sc.parallelize(list) pairRdd.sortByKey().collect.foreach(println) 结果 (a,3) (b,2) (c,1) 如果我们想逆向排序,就在后边加上false参数. pairRdd.sortByKey(false…
1.reduceByKey(func) 功能: 使用 func 函数合并具有相同键的值. 示例: val list = List("hadoop","spark","hive","spark") val rdd = sc.parallelize(list) val pairRdd = rdd.map((_,1)) pairRdd.reduceByKey(_+_).collect.foreach(println) 上例中,我们先…
join就表示内连接. 对于内链接,对于给定的两个输入数据集(k,v1)和(k,v2) 根据相同的k进行连接,最终得到(k,(v1,v2))的数据集. 示例 val arr1 = Array(("spark",1),("spark",2),("hadoop",2),("hadoop",5)) val pairRdd1 = sc.parallelize(arr1) val arr2 = Array(("spark&qu…
1.keys 功能: 返回所有键值对的key 示例 val list = List("hadoop","spark","hive","spark") val rdd = sc.parallelize(list) val pairRdd = rdd.map(x => (x,1)) pairRdd.keys.collect.foreach(println) 结果 hadoop spark hive spark list: L…
import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaPairRDD;import org.apache.spark.api.java.JavaSparkContext;import org.apache.spark.api.java.function.Function2;import org.apache.spark.api.java.function.VoidFunction;import scala.T…
aggregate 函数原型:aggregate(zeroValue, seqOp, combOp) seqOp相当于Map combOp相当于Reduce zeroValue是seqOp每一个partion的初始值,是一个元组,默认为0. 计算列表中总数: sc.parallelize( [[123],[4,5,6],[7,8,9]] )\ .aggregate(0, lambda: x,y: sum(y)+x, lambda x,y: x+y) # [('world', 1), ('hell…
//当前时间格式化, 例:YYYY-MM-dd-EEEE-HH:mm:ss + (NSString *)getCurrentDataWithDateFormate:(NSString *)formate { NSDate *now = [NSDate date]; return [self dateFormattingWithDate:now toFormate:formate]; } //任意NSDate格式化 + (NSString *)dateFormattingWithDate:(NSD…
1. 获取SparkSession spark = SparkSession.builder.config(conf = SparkConf()).getOrCreate() 2. 获取SparkContext 1. 获取sparkSession: se = SparkSession.builder.config(conf = SparkConf()).getOrCreate()1. 获取sparkContext: sc = se.sparkContext2. 获取sqlContext: sq…
Spark-RDD编程常用转换算子代码实例 Spark rdd 常用 Transformation 实例: 1.def map[U: ClassTag](f: T => U): RDD[U]   将函数应用于RDD的每一元素,并返回一个新的RDD package top.ruandb import org.apache.spark.{SparkConf, SparkContext} object RddTest extends App{ val sparkConf = new SparkConf…
与RDD类似,DStream也提供了自己的一系列操作方法,这些操作可以分成四类: Transformations 普通的转换操作 Window Operations 窗口转换操作 Join Operations 合并操作 Output Operations 输出操作 2.2.3.1 普通的转换操作 普通的转换操作如下表所示: 转换 描述 map(func) 源 DStream的每个元素通过函数func返回一个新的DStream. flatMap(func) 类似与map操作,不同的是每个输入元素…