Spark 的DataFrame常用操作之DSL的风格语法

DataFrame提供了一个领域特定语言(DSL)来操作结构化数据。文章的personDF参考前文:Spark SQL 结构化数据文件处理 详解

1、查看DataFrame当中的数据

查看DataFrame中的内容,通过调用show方法

personDF.show

Spark 的DataFrame常用操作之DSL的风格语法_第1张图片
2、查看DataFram当中部分字段的数据

第一种方式查看name字段数据:查看name字段的数据

personDF.select(personDF.col("name")).show

Spark 的DataFrame常用操作之DSL的风格语法_第2张图片
第二种方式查看name字段数据:查看name字段的另一种写法

personDF.select("name").show

Spark 的DataFrame常用操作之DSL的风格语法_第3张图片
第三种方式查看name和age字段数据

personDF.select(col("name"),col("age")).show

Spark 的DataFrame常用操作之DSL的风格语法_第4张图片
第四种方式查看字段数据:查看name和age的数据字段
通过 $ 来进行scala当中字符串的引用,可以使用 $ 来进行字段操作

personDF.select($"name",$"age").show

Spark 的DataFrame常用操作之DSL的风格语法_第5张图片
3、打印DataFrame的Schema信息

personDF.printSchema

4、查询所有的name和age,并将age+1

personDF.select(col("id"), col("name"), col("age") + 1).show

或者:

personDF.select(personDF("id"), personDF("name"), personDF("age") + 1).show

Spark 的DataFrame常用操作之DSL的风格语法_第6张图片
5、过滤age大于等于25的,使用filter方法过滤

personDF.filter(col("age") >= 25).show

Spark 的DataFrame常用操作之DSL的风格语法_第7张图片
6、统计年龄大于30的人数

personDF.filter(col("age")>30).count()

在这里插入图片描述
7、按年龄进行分组并统计相同年龄的人数

personDF.groupBy("age").count().show

Spark 的DataFrame常用操作之DSL的风格语法_第8张图片

你可能感兴趣的:(Spark,/,Scala)