赞
踩
目录
b.基于SparkSession实现展示数据前十行并显示数据的类型
c.从文件中找出Agriculture & Natural Resources中小于等于5000或者Median大于2000的学生数
a基于reducebykey算子实现统计专业工资最大值
- public class a {
- public static void main(String[] args) {
- SparkConf sparkConf = new SparkConf().setAppName("GroupByKeyTest1").setMaster("local");
- JavaSparkContext sc = new JavaSparkContext(sparkConf);
- JavaRDD<String> rdd1 = sc.textFile("G:\\SPARK\\spark学习文件\\qmxm\\dxssj.jsonl");
- JavaPairRDD<String, sj> kvRdd = rdd1.mapToPair(new PairFunction<String, String, sj>() {
- @Override
- public Tuple2<String, sj> call(String s) throws Exception {
- Gson gson = new Gson();
- sj sj = gson.fromJson(s,sj.class);
- return new Tuple2<>(sj.getMajor(),sj);
- }
- });
- JavaPairRDD<String,sj>resRdd = kvRdd.reduceByKey(new Function2<sj, sj, sj>() {
- @Override
- public sj call(sj a, sj b) throws Exception {
- return a.getEmployed().intValue() >= b.getEmployed().intValue() ? a : b;
- }
- });
-
- List<Tuple2<String,sj>> list = resRdd.collect(); //.take(10) collect()
- for (Tuple2<String,sj> t : list){
- System.out.printf("%s专业的工资最高为:%d%n",t._1,t._2.getEmployed());
- }
- sc.stop();
- }
- }
1.任何Spark程序都是SparkContext开始的,SparkContext的初始化需要一个SparkConf对象,SparkConf包含了Spark集群配置的各种参数。
初始化后,就可以使用SparkContext对象所包含的各种方法来创建和操作RDD和共享变量
2.集群URL:告诉Spark如何连接到集群上。例子中使用local可以让Spark运行在单机单线程上而无需连接到集群。
应用名:例子中使用GroupByKeyTest1。当连接到一个集群时,这个值可以帮助我们在集群管理器的用户界面中找到应用。
3.用sparkContext.textFile(...)创建RDD,后面的路径可以填写文件路径(spark集群上的和本地路径都可以,例子中演示的就是本地文件路径)
4.将普通RDD转成键值对:Major为专业,值为sj对象,代码:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。