[Spark SQL_1] Spark SQL 配置



0. 說明

  Spark SQL 的配置基於 Spark 集群搭建  && Hive 的安裝&配置

 


 

1. 簡介

  Spark SQL 是構建在 Spark Core 模塊之上的四大模塊之一,提供 DataFrame 等豐富 API,可以采用傳統的 SQL 語句進行數學計算。運行期間,會通過 Spark 查詢優化器翻譯產物理執行計划,並行計算后輸出結果。底層計算原理仍然采用 RDD 計算實現。

 


2. Spark 與 Hive 集成

  2.1 在 Spark 配置目錄下創建指向 [hive-site.xml ] 文件的同名符號鏈接

cd /soft/spark/conf
ln -s /soft/hive/conf/hive-site.xml hive-site.xml

 

  2.2 復制 Hive 元數據庫使用的驅動程序到 Spark 的 jars 目錄下,比如 MySQL

cd /soft/hive/lib/
cp mysql-connector-java-5.1.44.jar /soft/spark/jars

 

  2.3 關閉 Hive 配置文件 [hive-site.xml] 文件中版本檢查,否則會報版本不一致異常

[centos@s101 ~]$ cd /soft/hive/conf/
[centos@s101 /soft/hive/conf]$ sudo vi hive-site.xml

 

  <property>
    <name>hive.metastore.schema.verification</name>
    <value>false</value>
  </property>

 


 

3. 在 Spark shell 中訪問 Hive

  3.0 開啟 ZooKeeper & HDFS & Spark 集群

  略

 

  3.1 啟動 spark-shell,觀察輸出內容,打印 Hive 配置信息

spark-shell --master spark://s101:7077

  

  若成功則如下圖所示

  

 

  3.2 在 Scala 命令行執行如下命令

# 顯示所有數據庫
spark.sql("show databases").show()
 
# 使用指定數據庫
spark.sql("use mydb").show() 

# 顯示當前數據庫中的數據表
spark.sql("show tables").show()
 
# 查詢 customers 表數據
spark.sql("select * from customers").show(1000,false)

# 構造 RDD
val rdd1= sc.parallelize(Array((1,"tom1",12) ,(2,"tom2",13) ,(2,"tom3",14) ))

# 轉換 RDD 成DataFrame
val df = rdd1.toDF("id" , "name" , "age")

# 通過 DataFrame select API 實現 SQL 中的 select 語句
df.select("id").show()

# 注冊臨時表
df.registerTempTable("_cust")

# 通過臨時表進行數據操縱
spark.sql("select * from _cust").show(1000 ,false) ;

 

 

 


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM