RDD的操做是以Partition爲單位,輸入的是Partition,輸出的是itertor機器學習
它的計算是不透明,它是什麼類型,從用戶應用程序的角度來說,類型是不透明的學習
由此咱們沒法作更多的細緻優化,若是咱們能清楚地知道類型,就能作更多的限制,也就有了更多優化的空間優化
如下是一些圖的對比:翻譯
從結構化的角度來看,SQL只能在runtime才能發現語法錯誤和類型錯誤,it
DataFrane能在編譯時發現語法錯誤,可是隻能在運行時發現類型錯誤io
而DataSet能在編譯時就發現語法錯誤和類型錯誤,DataSet提供了最大的限制,也提供了最大的優化編譯
不管怎麼翻譯,最後都是翻譯成RDDclass
在2.0,Spark Streaming,Spark SQL,機器學習等等都是共用一套引擎,這是很是強大的file
這裏的scan new files其實指的是unbounded Table,語法
漸漸統一了批處理,流處理,機器學習等等
不過官方說了,Spark 2.0不適合在生產環境下運用
概括總結:1.RDD的弱點
2.優化後的對比
3.SQL DataFrame DataSet 之間的錯誤檢查的對比
4.理解引擎圖
5.Structed Streaming的再次理解
6.Spark 2.0 適用於生產環境嗎