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