spark数据查询语句select_Spark-SQL之DataFrame操作大全

本文详细介绍了Spark SQL中的DataFrame操作,包括如何从MySQL数据库生成DataFrame,以及DataFrame上的各种Action操作如show、collect、describe等。还涵盖了条件查询、join、聚合函数、重命名字段和行转列等高级功能,是Spark SQL DataFrame操作的全面指南。
摘要由CSDN通过智能技术生成

Spark SQL中的DataFrame类似于一张关系型数据表。在关系型数据库中对单表或进行的查询操作,在DataFrame中都可以通过调用其API接口来实现。可以参考,Scala提供的DataFrame API。

本文中的代码基于Spark-1.6.2的文档实现。

一、DataFrame对象的生成

Spark-SQL可以以其他RDD对象、parquet文件、json文件、Hive表,以及通过JDBC连接到其他关系型数据库作为数据源来生成DataFrame对象。本文将以MySQL数据库为数据源,生成DataFrame对象后进行相关的DataFame之上的操作。

文中生成DataFrame的代码如下:

object DataFrameOperations {

def main (args: Array[String ]) {

val sparkConf = new SparkConf().setAppName( "Spark SQL DataFrame Operations").setMaster( "local[2]" )

val sparkContext = new SparkContext(sparkConf)

val sqlContext = new SQLContext(sparkContext)

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

val jdbcDF = sqlContext.read.format( "jdbc" ).options(

Map( "url" -> url,

"user" -> "root",

"password" -> "root",

"dbtable" -> "spark_sql_test" )).load()

val joinDF1 = sqlContext.read.format( "jdbc" ).options(

Map("url" -> url ,

"user" -> "root",

"password" -> "root",

"dbtable" -> "spark_sql_join1" )).load()

val joinDF2 = sqlContext.read.format( "jdbc" ).options(

Map ( "url" -> url ,

"user" -> "root",

"password" -> "root",

"dbtable" -> "spark_sql_join2" )).load()

... ...

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

后续代码都在上面... ...处。

二、DataFrame对象上Action操作

1、show:展示数据

以表格的形式在输出中展示jdbcDF中的数据,类似于select * from spark_sql_test的功能。

show方法有四种调用方式,分别为,

(1)show

只显示前20条记录。

示例:

jdbcDF.show

1

1

结果:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值