Spark基本函数操作实例
来源:互联网 发布:野草教学设计软件 编辑:程序博客网 时间:2024/06/11 10:38
这是编写spark程序的一些常用的基本函数
接下来我将会通过编写代码来使用这些函数
package com.zlf.sparkimport org.apache.spark.SparkContextimport org.apache.spark.SparkConf/** * spark 基本函数操作实例 */object FunctionTest { def main(args: Array[String]): Unit = { val conf=new SparkConf().setAppName("FunctionTest").setMaster("local"); val sc=new SparkContext(conf); var rdd =sc.parallelize(List(1,2,3,4,5,6)); println("map函数测试================="); val mapRdd=rdd.map { x => x*2 };// 或者写成 rdd.map(_*2) mapRdd.collect().foreach(println);//控制台输出 println("filter函数测试================="); val filterRdd=mapRdd.filter(_>5); filterRdd.collect().foreach(println); println("count cache函数测试================="); var textrdd=sc.textFile("src/count.txt"); var count=textrdd.count(); println(count); textrdd.cache(); count= textrdd.count(); println(count); println("wordcount函数测试================="); //把每一行进行根据空格分割,然后flatMap会把多个list合并成一个list,最后把每个元素变成一个元组 //然后把具有相同key的元素的value进行相加操作,参考上面图片中的函数定义,针对reduceByKey, //传入的函数是对value进行操作的 val wordcount=textrdd.flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_) wordcount.collect().foreach(println); //其实完成了一个sort by value的过程, sortByKey(false),表示倒序排列 val wordcount2 =textrdd.flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).map(x=>(x._2,x._1)).sortByKey(false).map(x=>(x._2,x._1))// val wordcount2 =textrdd.flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).map(x => (x._2, x._1)).sortByKey(false).map(x => (x._2, x._1)) wordcount2.collect().foreach(println); println("union函数测试================="); val rdd1=sc.parallelize(List(('a',1),('a',2),('b',4))) val rdd2=sc.parallelize(List(('b',1),('b',2),('a',4))) val result_union=rdd1 union rdd2; //结果是把两个list合并成一个,List(('a',1),(‘a’, 2),('b',4),(‘b’, 1),('b',2),('a',4)) result_union.collect().foreach(println); println("join函数测试================="); val result_join=rdd1 join rdd2; //结果是把两个list做笛卡尔积,Array((a,(1,4)),(a,(2,4)),(b,(4,1)),(b,(4,2))) result_join.collect().foreach(println); val rdd_add=rdd.reduce(_+_); println(rdd_add); val rdd_seq=result_union.lookup('a'); println(rdd_seq);//返回 WrappedArray(1, 2, 4) }}
阅读全文
0 0
- Spark基本函数操作实例
- Spark 简单实例(基本操作)
- Spark 简单实例(基本操作)
- spark DataFrame 的函数|基本操作|集成查询记录
- spark RDD 基本操作
- 【spark】DataFrame基本操作
- Spark RDD基本操作
- Spark RDD基本操作
- Spark SQL 函数操作
- Spark SQL 函数操作
- Spark学习(一) 基本操作
- Spark + kafka集群基本操作
- Spark RDD API 基本操作
- Spark Pair RDD 基本操作
- spark之dataset基本操作
- spark文件操作简单实例
- spark操作读取hbase实例
- MongoDB基本操作实例
- android studio配置kotlin
- 【Rest】REST和SOAP Web Service的区别比较
- ASP.NET Core(二)【入门】
- Maven学习总结(12)——深入理解maven生命周期和插件
- Zookeeper 初体验之——JAVA API 初探
- Spark基本函数操作实例
- 抓取远程图片保存到本地
- 数据结构 — 浅析堆排序
- 高级篇(5.4) 01. Explicit Web Proxy 显式web代理 ❀ 飞塔 (Fortinet) 防火墙
- 在Mac上通过Docker部署Oracle Database 12.2版本
- 网络加载图片案例
- 通过object_is_on_stack检测指针是否在stack上
- 机器学习方法:回归(一):线性回归Linear regression
- WebView加载Html的图片文字,或者图文混排