最近在寫spark庆揪,等我更新式曲。。缸榛。吝羞。始鱼。
spark sql 自定義udf
spark 定義視圖
說明:在dataframe的基礎(chǔ)上給出視圖名稱,dataframe可以來源于jdbc查詢結(jié)果脆贵,也可以是json
val spark = SparkSession
? ? ? .builder()
? ? ? .appName("Spark SQL basic example")
? ? ? .config("spark.some.config.option", "some-value").master("local[*]")
? ? ? .getOrCreate()
spark.sparkContext.textFile("examples/src/main/resources/people.txt")
或者
spark.read
.format("jdbc")
.option("url",getValue(KeyConstant.S_URL).toString)
.option("dbtable",table)
.option("user",getValue(KeyConstant.S_USERNAME).toString)
.option("password",getValue(KeyConstant.S_PASSWORD).toString)
觸發(fā)医清。load().where(條件)
另外附上 spark sql 語句的差異:http://www.cnblogs.com/yangsy0915/p/4867203.html
spark sql 集中sql 解析器
原文:http://blog.csdn.net/silviakafka/article/details/54091005
spark context 使用 ?其中包括了內(nèi)置的SQL解析器:
? 內(nèi)置SQL ?解析器:-->該解析器由scala編寫,功能上還不能和hivesql媲美卖氨,只能支持部分的sql会烙,內(nèi)置元數(shù)據(jù)信息:simpleCatalog【此對象中存放關(guān)系(表),比如我們指定的schema信息筒捺,類的信息柏腻,都是關(guān)系信息】
HiveQL解析器【支持hive的hql語法,如只有通過HiveContext生成的dataframe才能調(diào)用saveAsTable操作】
Hive的元數(shù)據(jù)信息:hiveCatalog(存放數(shù)據(jù)庫和表的元數(shù)據(jù)信息)
三. Catalyst
所有的sql最終都會生成spark程序代碼:
1.維護與用戶的JDBC連接
2.通過HiveContext的API提交用戶的HQL查詢