dataframe scala 修改值_【Spark学习笔记】 Scala DataFrame操作大全

本文详细介绍了如何在 Scala 中使用 Spark DataFrame 进行数据操作,包括从 MySQL 数据库读取数据,展示数据的不同方式(如 show、collect、take),数据统计(describe),筛选(where、filter),字段选择(select、selectExpr),数据排序(orderBy、sort),分组统计(groupBy、pivot、agg),数据去重(distinct、dropDuplicates),以及 DataFrame 的连接操作(join)。通过这些方法,你可以全面掌握 DataFrame 的核心功能。
摘要由CSDN通过智能技术生成

1、创建DataFrame

本文所使用的DataFrame是通过读取mysql数据库获得的,代码如下:

val spark = SparkSession

.builder()

.appName("Spark SQL basic example")

.enableHiveSupport()

//.config("spark.some.config.option", "some-value")

.getOrCreate()

import spark.implicits._

val url = "jdbc:mysql://localhost:3306/test"

val df = spark.read

.format("jdbc")

.option("url", url)

.option("dbtable", "pivot")

.option("user", "root")

.option("password", "admin")

.load()

2、DataFrame基本动作运算

2.1 show展示数据

可以用show() 方法来展示数据,show有以下几种不同的使用方式:

show():显示所有数据

show(n) :显示前n条数据

show(true): 最多显示20个字符,默认为true

show(false): 去除最多显示20个字符的限制

show(n, true):显示前n条并最多显示20个自负

代码为:

df.show()

df.show(3)

df.show(true)

df.show(false)

df.show(3,true)

上面的输出为:

+---+----+----+--------------------+

| id|user|type| visittime|

+---+----+----+--------------------+

| 1| 1| 助手1|2017-08-10 13:44:...|

| 2| 1|APP1|2017-08-04 13:44:...|

| 3| 2| 助手1|2017-08-05 13:44:...|

| 4| 2| 助手1|2017-08-07 13:44:...|

| 5| 3|APP1|2017-08-02 13:44:...|

| 6| 3|APP1|2017-08-01 13:44:...|

| 7| 3| 助手2|2017-08-14 13:44:...|

| 8| 3|APP2|2017-08-03 13:44:...|

| 9| 2|APP2|2017-08-11 13:44:...|

| 10| 2| 助手1|2017-07-14 13:44:...|

| 11| 1|APP1|2017-07-15 13:45:...|

| 12| 1| 助手2|2017-07-07 13:45:...|

+---+----+----+--------------------+

+---+----+----+--------------------+

| id|user|type| visittime|

+---+----+----+--------------------+

| 1| 1| 助手1|2017-08-10 13:44:...|

| 2| 1|APP1|2017-08-04 13:44:...|

| 3| 2| 助手1|2017-08-05 13:44:...|

+---+----+----+--------------------+

only showing top 3 rows

+---+----+----+--------------------+

| id|user|type| visittime|

+---+----+----+--------------------+

| 1| 1| 助手1|2017-08-10 13:44:...|

| 2| 1|APP1|2017-08-04 13:44:...|

| 3| 2| 助手1|2017-08-05 13:44:...|

| 4| 2| 助手1|2017-08-07 13:44:...|

| 5| 3|APP1|2017-08-02 13:44:...|

| 6| 3|APP1|2017-08-01 13:44:...|

| 7| 3| 助手2|2017-08-14 13:44:...|

| 8| 3|APP2|2017-08-03 13:44:...|

| 9| 2|APP2|2017-08-11 13:44:...|

| 10| 2| 助手1|2017-07-14 13:44:...|

| 11| 1|APP1|2017-07-15 13:45:...|

| 12| 1| 助手2|2017-07-07 13:45:...|

+---+----+----+--------------------+

+---+----+----+---------------------+

|id |user|type|visittime |

+---+----+----+---------------------+

|1 |1 |助手1 |2017-08-10 13:44:19.0|

|2 |1 |APP1|2017-08-04 13:44:26.0|

|3 |2 |助手1 |2017-08-05 13:44:29.0|

|4 |2 |助手1 |2017-08-07 13:44:32.0|

|5 |3 |APP1|2017-08-02 13:44:38.0|

|6 |3 |APP1|2017-08-01 13:44:41.0|

|7 |3 |助手2 |2017-08-14 13:44:48.0|

|8 |3 |APP2|2017-08-03 13:44:45.0|

|9 |2 |APP2|2017-08-11 13:44:53.0|

|10 |2 |助手1 |2017-07-14 13:44:57.0|

|11 |1 |APP1|2017-07-15 13:45:03.0|

|12 |1 |助手2 |2017-07-07 13:45:08.0|

+---+----+----+---------------------+

+---+----+----+--------------------+

| id|user|type| visittime|

+---+----+----+--------------------+

| 1| 1| 助手1|2017-08-10 13:44:...|

| 2| 1|APP1|2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值