热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SparkDataFrame的DSL操作

一、show方法功能:展示DataFrame中的数据,默认展示20条语法:df.show(参数1,参数2)-参数1

一、show方法


  • 功能:展示DataFrame中的数据,默认展示20条

  • 语法:

    df.show(参数1,参数2)
    - 参数1:默认是20,控制展示多少条
    - 参数2:是否阶段列,默认只输出20个字符的长度,过长不显示,要显示的话,请填入truncate=True


二、printSchema方法


  • 功能:打印输出df的schema信息

  • 语法

    df.printSchema()


三、select


  • 功能:选择DataFrame中的指定列(通过传入参数进行指定)

  • 语法(可传递):

    • 可变参数的cols对象,cols对象可以是Column对象来指定列或者字符串列名来指定列

    • List[Column]对象或者List[str]对象,用来选择多个列

      # column对象的获取
      id_column = df['id']
      subject_column = df['subject']
      # select
      # 支持字符串形式传入
      df.select(["id", "subject"]).show()
      df.select(["id", "subject"]).show()
      # 也支持column对象的方式传入
      df.select(df['id'], df['subject']).show()


四、filter和where


  • 功能:过滤DataFrame内的数据,返回一个过滤后的DataFrame

  • 语法:

    df.filter()

    df.where()

    where和filter功能上是等价的

    # filter
    # 传字符串的形式
    df.filter("score <99").show()
    # 传column的形式
    df.filter(df[&#39;score&#39;] < 99).show()
    # where和filter等价
    df.where("score <99").show()
    df.where(df[&#39;score&#39;] < 99).show()


五、groupBy分组


  • 功能&#xff1a;按照指定的列进行数据的分组&#xff0c;返回值是GroupedData对象

  • 语法&#xff1a;

    传入参数和select一样&#xff0c;支持多种形式&#xff0c;不管怎么传意思就是告诉spark按照哪个列分组

    df.groupBy()

    # groupBy
    df.groupBy("subject").count().show()
    df.groupBy("df[&#39;subject&#39;]").count().show()


推荐阅读
author-avatar
mobiledu2502853587
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有