码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • spark算子基础


    创建数组
    scala> val a = sc.parallelize(Array(("zhangsan", 99, 98, 100),("lisi", 99, 98, 100),("wangwu", 99, 98, 100)))
    a: org.apache.spark.rdd.RDD[(String, Int, Int, Int)] = ParallelCollectionRDD[28] at parallelize at :24

    要求:筛选出名字为zhang开头的总分最高分
    一、
    scala> a.filter(x=>x._1.startsWith("zhang")).map(x=>(x._1,x._2+x._3+x._4)).sortBy(x=> - x._2).take(1)
    res30: Array[(String, Int)] = Array((zhangsan,297))

    二、
    scala> a.filter(x=>x._1.startsWith("zhang")).map(x=>(x._1,x._2+x._3+x._4)).reduceByKey((x,y) => if (x>y) x else y)
    res28: org.apache.spark.rdd.RDD[(String, Int)] = ShuffledRDD[51] at reduceByKey at :26

    三、
    scala> a.filter(x=>x._1.startsWith("zhang")).map(x=>(x._2+x._3+x._4,x._1)).max
    res31: (Int, String) = (297,zhangsan)

    四、
    scala> a.filter(x=>x._1.startsWith("zhang")).map(x=>("zhang",(x._1,x._2+x._3+x._4))).reduceByKey((x,y) => if (x._2>y._2) x else y).collect
    res34: Array[(String, (String, Int))] = Array((zhang,(zhangsan,297)))
    scala> a.filter(x=>x._1.startsWith("zhang")).map(x=>("zhang",(x._1,x._2+x._3+x._4))).reduceByKey((x,y) => if (x._2>y._2) x else y).map(x=>x._2).collect
    res35: Array[(String, Int)] = Array((zhangsan,297))

    五、
    scala> a.filter(x => x._1.startsWith("zhang")).map(x => (x._1, x._2 + x._3 + x._4)).
         |   groupBy(x => x._1.substring(0, 5)).map(x => {
         |     var name = ""
         |     var sumscore = 0
         |     val itor = x._2.iterator
         |     for (e <- itor) {
         |       if (e._2 > sumscore) {
         |         name = e._1;
         |         sumscore = e._2
         |       }
         |     }
         |     (name, sumscore)
         |   }).collect()
    res3: Array[(String, Int)] = Array((zhangsan,297))

  • 相关阅读:
    【.Net实用方法总结】 整理并总结System.IO中Stream类及其方法介绍
    Opencv实现颜色检测
    一文讲清楚什么是类型化数组、ArrayBuffer、TypedArray、DataView等概念
    基于gpio子系统编写LED灯的驱动,编写应用程序测试
    idea Springboot 教师标识管理系统开发mysql数据库web结构java编程计算机网页源码maven项目
    OpenCV4 图像处理与视频分析实战教程 笔记
    Python做一个中秋节嫦娥投食小游戏
    c++ | json库的使用 | josn静态库生成
    数据可视化复习 第二章
    JavaScript基础语法(数据类型)
  • 原文地址:https://blog.csdn.net/jmz98/article/details/133705409
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号