一.官网位置
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()