溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SparkSQL基礎(chǔ)知識都有哪些

發(fā)布時間:2021-12-17 14:10:57 來源:億速云 閱讀:150 作者:柒染 欄目:大數(shù)據(jù)

這篇文章給大家介紹SparkSQL基礎(chǔ)知識都有哪些,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

一.SparkSQL架構(gòu)

1.架構(gòu)

SparkSQL基礎(chǔ)知識都有哪些

2.解釋

一個sql 過來 解析成unresolved,只拿出來字段名和表名
但是不知道字段名和表名在哪個位置
需要通過Schema 確定表的位置等信息,
生成邏輯執(zhí)行計劃,Logical,知道數(shù)據(jù)從哪里來了
通過一些列優(yōu)化過濾生成物理執(zhí)行計劃Physical
最后把物理執(zhí)行計劃放到spark集群上運行

3.樣例

SparkSQL基礎(chǔ)知識都有哪些

二.SparkSQL的幾點誤區(qū)

Spark SQL就是寫SQL,這是錯誤的觀點
Spark SQL不是SQL,超出SQL,因為SQL是其一部分
Spark SQL 是處理結(jié)構(gòu)化數(shù)據(jù)的,只是Spark中的一個模塊
Spark SQL 與 Hive on Spark  不是一個東西
Spark SQL 是spark里面的
Hive on Spark 的功能是比Spark SQL多的
Hive on Spark 穩(wěn)定性不是很好

三.SQL的幾個幾點注意

1.SQL注意

關(guān)系數(shù)據(jù)庫集群成本很高,還是有限的
SQL : schema + file
使用sql的前提就是有schema ,作用到文件上去
hive是進程的
hive2.0 默認引擎是Tez
Hive on Spark 就是把hive執(zhí)行引擎改成spark

2.執(zhí)行引擎

mr
spark
Tez

3.SparkSQL的JOIN

spark sql 可以跨數(shù)據(jù)源進行join,例如hdfs與mysql里表內(nèi)容join
Spark SQL運行可以不用hive,只要你連接到hive的metastore就可以

3.hive底層的hiveserver2協(xié)議走的是thrift

hiveserver2開啟可以用JDBC或者ODBC直接連接

SparkSQL基礎(chǔ)知識都有哪些

四.連接Hive的幾種方式

1.三種方式

spark-sql 與 spark-shell  ,thriftserver
thriftserver對應(yīng)hive里面的hiveserver2

2.thriftserver連接方式

./beeline -u jdbc:hive2://localhost:10000 -n root

SparkSQL基礎(chǔ)知識都有哪些

3.thriftserver和spark-sql,spark-shell  的區(qū)別在哪?

spark-shell、spark-sql 都是是一個獨立的 spark application,
啟動幾個就要幾個application,非常耗資源
用thriftserver,無論啟動多少個客戶端(beeline)連接在一個thriftserver,
是一個獨立的spark application,
后面不用在重新申請資源。前一個beeline緩存的,下一個beeline也可以用
用thriftserver,可在ui看執(zhí)行計劃,優(yōu)化有優(yōu)勢

4.注意情況

這個要起來,要不spark-shell, spark-sql,連接不上,這個跟hive一樣

SparkSQL基礎(chǔ)知識都有哪些

5.可能出錯

spark-shell --master local[2] --jars /soft/hive/lib/mysql-connector-java-8.0.12.jar 這樣啟動不起來
你可以試試把mysql-connector-java-8.0.12.jar 放到spark的jars里

SparkSQL基礎(chǔ)知識都有哪些

6.解決

SparkSQL基礎(chǔ)知識都有哪些

關(guān)于SparkSQL基礎(chǔ)知識都有哪些就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI