关于SQLContext过期,SparkSession登场
生活随笔
收集整理的這篇文章主要介紹了
关于SQLContext过期,SparkSession登场
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
關于SQLContext過期問題。
?
源碼中解釋道:
spark2.0之后使用sparksession替代,不過仍然保留了SQLContext。
那么他們兩個有不同嗎?這里只說一個重要的。在你使用SparkSession代替SQLContext的時候
package SparkSqlimport org.apache.spark.sql.{DataFrame, SQLContext, SparkSession} import org.apache.spark.{SparkConf, SparkContext}/*** 創建DataFrame的幾種方式* 1.讀取json格式的文件創建DataFrame*/ object DFScalaDemo {def main(args: Array[String]): Unit = {val conf = new SparkConf().setAppName("www").setMaster("local")val sc = new SparkContext(conf)sc.setLogLevel("error")val ss: SparkSession = new SparkSession(sc)val frame: DataFrame = ss.read.format("json").load("./data/json")frame.show()sc.stop()} }好像看起來不錯,編譯也通過的,但是當你運行時。你會發現:
?
所以1、你可以繼續使用SQLContext去創建,2、就是像我一向樣,去研究一下了。嘿嘿
在SparkSession的API中,我們發現:
看不如手動試一試:
果然如此。?
package SparkSqlimport org.apache.spark.sql.{DataFrame, SQLContext, SparkSession} import org.apache.spark.{SparkConf, SparkContext}/*** 創建DataFrame的幾種方式* 1.讀取json格式的文件創建DataFrame*/ object DFScalaDemo {def main(args: Array[String]): Unit = {val sparkSession = SparkSession.builder.appName("www").master("local").getOrCreate()val frame: DataFrame = sparkSession.read.format("json").load("./data/json")frame.show()/*** +----+------+* | age| name|* +----+------+* | 22|george|* |null| lucy|* | 20| honey|* | 20| KK|* +----+------+*/sparkSession.stop()} }所以SparkSession雖然代替了SQLContext,但在語法上略有不同,需要二次學習。。。
路漫漫!!!
總結
以上是生活随笔為你收集整理的关于SQLContext过期,SparkSession登场的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 12306”的架构到底有多牛逼?
- 下一篇: 怎么改变github的用户名字,身份?