spark-sql的几种创建方式

本文详细介绍了在Spark 1.x和2.x版本中使用Spark SQL的不同创建方式,包括其核心概念和应用场景,帮助读者深入理解如何在不同版本的Spark中操作SQL查询。
摘要由CSDN通过智能技术生成

Spark 1.x

//spark sql 用来处理结构化数据
类似数据库中的表一样存储数据

Spark1.x

 val sc =new SparkContext(conf)
 val sqlContext=new SQLContext(sc)
 
 //将RDD和schema信息关联到一起,
	1.RDD和case class
	2.RDD和StructType
//case class Person将RDD中的数据转换成case class 属性相对应的类型,然后设置到case class中
	3.val rdd:RDD[Person]=...
//将RDD转换成DataFrame
	4.val df =rdd.toDF
//对df进行操作(1.直接使用DataFrame上的算子DSL. 2写SQL)
//将df注册成临时表
	df.registerTempTable("t_person")
//执行SQL
val result :DataFrame=sqlContext.sql("SELECT * FROM t_person ...")
result.show()

Spark 2.x

//Spark2.x
val spark=SparkSession.builder()
	.appName("")
	.master("local[*]")
	.getOrCreat()
//创建DF
val df =spark.createDataFrame(RDD[Row],schema)
//DSL 和SQL
df.createTempView("v_user")
//执行Sql
val result :DataFrame=spark.sql("SELECT * 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值