您好,登錄后才能下訂單哦!
這篇文章給大家介紹SparkSQL基礎(chǔ)知識都有哪些,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
一個sql 過來 解析成unresolved,只拿出來字段名和表名 但是不知道字段名和表名在哪個位置 需要通過Schema 確定表的位置等信息, 生成邏輯執(zhí)行計劃,Logical,知道數(shù)據(jù)從哪里來了 通過一些列優(yōu)化過濾生成物理執(zhí)行計劃Physical 最后把物理執(zhí)行計劃放到spark集群上運行
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)定性不是很好
關(guān)系數(shù)據(jù)庫集群成本很高,還是有限的 SQL : schema + file 使用sql的前提就是有schema ,作用到文件上去 hive是進程的 hive2.0 默認引擎是Tez Hive on Spark 就是把hive執(zhí)行引擎改成spark
mr spark Tez
spark sql 可以跨數(shù)據(jù)源進行join,例如hdfs與mysql里表內(nèi)容join Spark SQL運行可以不用hive,只要你連接到hive的metastore就可以
hiveserver2開啟可以用JDBC或者ODBC直接連接
spark-sql 與 spark-shell ,thriftserver thriftserver對應(yīng)hive里面的hiveserver2
./beeline -u jdbc:hive2://localhost:10000 -n root
spark-shell、spark-sql 都是是一個獨立的 spark application, 啟動幾個就要幾個application,非常耗資源 用thriftserver,無論啟動多少個客戶端(beeline)連接在一個thriftserver, 是一個獨立的spark application, 后面不用在重新申請資源。前一個beeline緩存的,下一個beeline也可以用 用thriftserver,可在ui看執(zhí)行計劃,優(yōu)化有優(yōu)勢
這個要起來,要不spark-shell, spark-sql,連接不上,這個跟hive一樣
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里
關(guān)于SparkSQL基礎(chǔ)知識都有哪些就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(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)容。