spark中各种连接操作以及有用方法「建议收藏」

spark中各种连接操作以及有用方法

大家好,又见面了,我是全栈君。

 val a = sc.parallelize(Array(("123",4.0),("456",9.0),("789",9.0))
     val b = sc.parallelize(Array(("123",8.0),("789",10)))

    val c = a.join(b)
    c.foreach(println)
    /*
    (123,(4.0,8.0))
    (789,(9.0,10))
     */
    val d = a.cogroup(b)
    d.foreach(println)
    /*
    (456,(CompactBuffer(9.0),CompactBuffer()))
    (123,(CompactBuffer(4.0),CompactBuffer(8.0)))
    (789,(CompactBuffer(9.0),CompactBuffer(10)))
    */
    val e = a.leftOuterJoin(b)
    e.foreach(println)
    /*
      (456,(9.0,None))
      (123,(4.0,Some(8.0)))
      (789,(9.0,Some(10)))
      */
    val f = a.fullOuterJoin(b)
    f.foreach(println)
    /*
      (456,(Some(9.0),None))
      (123,(Some(4.0),Some(8.0)))
      (789,(Some(9.0),Some(10)))
      */
    val g = a.cartesian(b)
    g.foreach(println)
    /*
((123,4.0),(123,8.0))
((123,4.0),(789,10))
((456,9.0),(123,8.0))
((456,9.0),(789,10))
((789,9.0),(123,8.0))
((789,9.0),(789,10))
      */
    /*val h = a.coalesce(6,true)
    h.foreach(println)
    a.dependencies.foreach(println)*/
    val i = a.keyBy{case (k,v)=>("haha",234)}
    i.foreach(println)
    /*
      ((haha,234),(123,4.0))
      ((haha,234),(456,9.0))
      ((haha,234),(789,9.0))
     */

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/116173.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • journalctl基本介绍

    journalctl基本介绍journalctl基础用法1、查看所有日志(默认显示本次启动的所有日志)[root@localhost~]#journalctl查看本次启动的所有日志也可以使用[root@localhost~]#journalctl-b2、查看内核日志[root@localhost~]#journalctl-k3、查看指定时间的日志通过–since和–until选项,可以过滤任意时间限制,显示指定条件之前、之后或之间的日志[root@localhost~]#jour

  • hpStorm 10.0.1 激活码[在线序列号]

    hpStorm 10.0.1 激活码[在线序列号],https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • 乘法速算(两位数)

    乘法速算(两位数)法速算(两位数)  此方法可以锻炼孩子的思维速度.思维方向.特别的作用到底是什么?我也不是很清楚.但我觉得学习他总是有好处的.因此介绍给大家.这是我从网站上查到的一部分,从一些书籍中整理而来           还有我自己总结的一点.             闲话少说.进行介绍:(一)十几乘以十几例:           13*12方法:百位是1

  • 万文多图之搜索引擎使用教程[通俗易懂]

    万文多图之搜索引擎使用教程[通俗易懂]大家好,我是herosunly,985院校硕士毕业,现担任算法研究员一职。CSDN博客专家,2020年博客之星TOP。曾获得阿里云天池比赛第一名、科大讯飞比赛第一名、CCF比赛第一名等Top名次,拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法行业就业。其中经常被同学和同事夸赞的一项能力就是`搜索`,所以今天特意给大家分享搜索引擎使用方法,希望能对大家有所帮助。如果大家觉得有用,请帮忙点赞评论收藏(一键三连),谢谢大家的支持~

  • vuetify富文本编辑器_vue富文本编辑器的使用

    vuetify富文本编辑器_vue富文本编辑器的使用最近再弄一个后台管理系统,挑选了不少的编辑器,最终选择了tinymce,UI精美,功能模块多,可按需加载配置来一张tinymce官网的完整功能的图(没梯子可能访问速度有点慢…)下面开始工作:插件安装tinymce官方提供了一个vue的组件tinymce-vue如果有注册或购买过服务的话,直接通过组件配置api-key直接使用,像我这种懒的注册或者购买的直接下载tinymce,自力更生…

  • mesh和ADhoc区别[通俗易懂]

    mesh和ADhoc区别[通俗易懂]adhoc网络和无线Mesh网络都采用分布式、自组织的思想形成网络,网络每个节点都具备路由功能,随时为其他节点的数据传输提供路由和中继服务。adhoc网络主要侧重应用于移动环境中,确保网络内任意两个节点的可靠通信,网络内数据流可以包括语音、数据和多媒体信息。无线Mesh网络是一种无线宽带接入网络,利用分布式思想构建网络,让用户在任何时间、任何地点都可以对互联网进行高速无线访问,是由ADh…

    2022年10月30日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号