SparkSql的语法一(调用方法)

本文介绍了SparkSQL中进行数据分析的关键方法,包括显示数据的`show`,选择特定列的`select`和`selectExpr`,添加列的`withColumn`,重命名列的`withColumnRenamed`,打印schema的`printSchema`,删除列的`drop`,去重的`dropDuplicates`,排序的`orderBy`,过滤的`where`,分组的`groupBy`,限制结果数量的`limit`,聚合操作的`agg`,以及处理NULL值的`na`函数。此外,还涉及了`case...when`语句和`pivot`函数在行列转换中的应用。
摘要由CSDN通过智能技术生成

调用方法(通过调用方法实现数据分析)

show:(以表格的形式展示数据集中前N行(20)记录)
select :(投影查询,指定查询的字段)
selectExpr :(支持表达式(基本运算或者别名)的投影查询)

df
.selectExpr("id+10", "name as username")

withColumn :(添加额外列方法)
withColumnRenamed :(给列重命名方法 相当于sql中的as 别名)

val rdd = spark.sparkContext.makeRDD(List((1, "zs", true, 2000D), (2, "ls", false, 3000D)))

// rdd转换为ds或者df
import spark.implicits._
// scala隐式转换
val df = rdd.toDF("id", "name", "sex", "salary")

df
//.select("id", "name")
//.selectExpr("id+10", "name as username")
.withColumn("year_salary", $"salary" * 12)
.withColumnRenamed("name","username")
.show()
// select id,name,sex,salary,salary * 12 as  yearsalary from t_user

+---+----+-----+------+-----------+
| id|name|  sex|salary|year_salary|
+---+----+-----+------+-----------+
|  1|  zs| true|2000.0|    24000.0|
|  2|  ls|false|3000.0|    36000.0|
+---+----+-----+------+-----------+

+---+--------+-----+------+-----------+
| id|username|  sex|salary|year_salary|
+---+--------+-----+------+-----------+
|  1|      zs| true|2000.0|    24000.0|
|  2|      ls|false|3000.0|    36000.0|
+---+--------+-----+------+-----------+

printSchema :(打印输出表的结果)

//结果类似与这样
root
 |-- id: integer (nullable = false)
 |-- username: string (nullable = true)
 |-- sex: boolean (nullable = false)
 |-- salary: double (nullable = false)
 |-- year_salary: double (nullable = false)

drop :(用来删除特定列方法)
dropDuplicats :(特定列内容重复的数据只保留一个 (结果去重))

import spark.implicits._
val df = List(
  (1, "zs", false, 1, 15000),
  (2, "ls", false, 1, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值