开发者学堂课程【大数据实时计算框架Spark快速入门:SparkSQL初识_4】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/100/detail/1701
SparkSQL初识4
内容简介:
一、Dataframe 的最佳搭档-- Spark SQL
二、RDD 与 DataFrame 的区别
三、创建 DataFrame
一、Dataframe 的最佳搭档-- Spark SQL
Spark SQL 是 Spark 的核心组件之一, 于2014年4月随 Spark 1.0版一同面世,在 Spark 1.3当中,Spark SQL 终于从 alpha 阶段毕业,除了部分 developer API以外,所有的公共API都已经稳定,可以放心使用了。
Spark 1.3更加完整的表达了 Spark SQL 的愿景:让开发者用更精简的代码处理尽量少的数据,同时让 Spark SQL 自动优化执行过程,以达到降低开发成本,提升数据分析执行效率的目的。为此,在 Spark 1.3中引入了与 R 和 Python Pandas 接口类似的 DataFrame API。
与 RDD 类似, DataFrame 也是一个分布式数据容器。然而 DataFrame 更像传统数据库的二维表格,除了数据以外,还掌握数据的结构信息,即 schema.同时,与 Hive 类似,DataFrame 也支持故套数培类型( struct、 array和map) 。从 API 易用性的角度上看, DataFrame API 提供的是一套高层的关系操作,比函数式的 RDD API 要更加友好,门槛更低。由于与 R 和 Pandas 的 DataFrame 类似,Spark DataFrame 很好地继承了传统单机数据分析的开发体验。
二、RDD 与 DataFrame 的区别
RDD VS DataFrame( RDD 对比 DataFrame)
the Catalyst optimizer 优化器
Tungsten execution engine 钨丝计划
三、创建 DataFrame
http://spark.apache.org/docs/latest/sql-programming-guide.html
val sc: SparkContext // An existing SparkContext.
val sql Context =new org. apache.spark. sql. SQLContext(sc)
//this is used to implicitly convert an RDD to a DataFrame.
import sql Context. implicits