Spark SQL是处理结构化的数据
Posted cindy-zl24
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark SQL是处理结构化的数据相关的知识,希望对你有一定的参考价值。
Spark SQL是处理结构化的数据,可以存储在二维表中,类似数据库中的表一样存储数据
Spark1.x
val sqlContext = 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中
val rdd:RDD[Person] = ....
//将RDD转换成DataFrame
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()
Spark2.x
val spark = SparkSession.builder().appName("a").master("local[*]").getOrCreate()
//创建DF
val df = spark.createDataFrame(RDD[Row], schema)
//DSL 和 SQL
df.createTempView("v_user")
//执行SQL
val result:DataFrame = spark.sql("select * from t_user")
//执行action
result.show()
//
以上是关于Spark SQL是处理结构化的数据的主要内容,如果未能解决你的问题,请参考以下文章