一. 官网位置
1. 位置
2. 解释
官网位置 DataSet1.6 出现的
SchemaRDD <1.3 1.3 版本前叫 SchemaRDD 1.3 以后 叫 DataFrame
DataSet 支持 Scala , JAVA 不支持 python
DataFrame 支持四种 JAVA,Scala.Python,R
DataFrame: 并不是 spark sql 独创的, 原来就有的, 从其他框架借鉴过来的
二. DataFrame 注意事项
1. 注意
分布式的数据集
按列进行组织的
就是等于关系型数据库总的一张表
DataFrame=DataSet[Row] 类型是 Row
三. DataFram 与 RDD 的区别
1. 定义层面
RDD 定义里面有泛型 RDD[person ] RDD 不知道 Person 里面有什么的
DataFrame 不一样 , 里面是张表, 所以暴露的信息多
2. 底层方面
RDD 开发各种语言有各自的运行环境, 所以性能不一样, 差异很大, 但是 DataFrame 是统一都经
过计划, 在执行, 不用管语言开发, 性能差不多
3.API 方面
DataFrame 比 RDD 更加丰富
三. 其余注意事项
1. 注意点
Spark SQL 入口点 2.0 版本
- <2: SQLContext HiveContext>
- =2: SparkSession
spark-shell 启动会默认启动 sc,spark 两个 SparkContext,SparkSession
spark.read.JSON() 不推荐
可以这样写
- spark.read.format("json").load(path)
- spark.read.format("text").load(path)
2. 支持 hive 模式代码
- val spark = SparkSession.builder()
- .appName("Test")
- .master("local[2]")
- .enableHiveSupport() // 支持 hive
- .getOrCreate()
来源: http://www.bubuko.com/infodetail-3366098.html