這篇文章給大家介紹SparkSQL基礎(chǔ)知識都有哪些,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
十多年專注成都網(wǎng)站制作,企業(yè)網(wǎng)站建設(shè),個(gè)人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識、方案,網(wǎng)站設(shè)計(jì)流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),專注于企業(yè)網(wǎng)站建設(shè),高端網(wǎng)頁制作,對成都VR全景等多個(gè)方面,擁有豐富的網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn)。一個(gè)sql 過來 解析成unresolved,只拿出來字段名和表名 但是不知道字段名和表名在哪個(gè)位置 需要通過Schema 確定表的位置等信息, 生成邏輯執(zhí)行計(jì)劃,Logical,知道數(shù)據(jù)從哪里來了 通過一些列優(yōu)化過濾生成物理執(zhí)行計(jì)劃Physical 最后把物理執(zhí)行計(jì)劃放到spark集群上運(yùn)行
Spark SQL就是寫SQL,這是錯誤的觀點(diǎn) Spark SQL不是SQL,超出SQL,因?yàn)镾QL是其一部分 Spark SQL 是處理結(jié)構(gòu)化數(shù)據(jù)的,只是Spark中的一個(gè)模塊 Spark SQL 與 Hive on Spark 不是一個(gè)東西 Spark SQL 是spark里面的 Hive on Spark 的功能是比Spark SQL多的 Hive on Spark 穩(wěn)定性不是很好
關(guān)系數(shù)據(jù)庫集群成本很高,還是有限的 SQL : schema + file 使用sql的前提就是有schema ,作用到文件上去 hive是進(jìn)程的 hive2.0 默認(rèn)引擎是Tez Hive on Spark 就是把hive執(zhí)行引擎改成spark
mr spark Tez
spark sql 可以跨數(shù)據(jù)源進(jìn)行join,例如hdfs與mysql里表內(nèi)容join Spark SQL運(yùn)行可以不用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 都是是一個(gè)獨(dú)立的 spark application, 啟動幾個(gè)就要幾個(gè)application,非常耗資源 用thriftserver,無論啟動多少個(gè)客戶端(beeline)連接在一個(gè)thriftserver, 是一個(gè)獨(dú)立的spark application, 后面不用在重新申請資源。前一個(gè)beeline緩存的,下一個(gè)beeline也可以用 用thriftserver,可在ui看執(zhí)行計(jì)劃,優(yōu)化有優(yōu)勢
這個(gè)要起來,要不spark-shell, spark-sql,連接不上,這個(gè)跟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é)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。