spark教程(10)-sparkSQL


sparkSQL 的由來

我們知道最初的計算框架叫 mapreduce,他的缺點是計算速度慢,還有一個就是代碼比較麻煩,所以有了 hive;

hive 是把類 sql 的語句轉換成 mapreduce,解決了開發難的問題,但是 hive 的底層還是 mapreduce,仍然是慢;

spark 也看到了 hive 的優勢,以 hive 為中心的一套框架 shark 營運而生,它是 spark 的前身,h 就是 hive 的意思;

但是 為了 提高 shark 的效率,spark 自己開發了一套算法,替代了之前 hive 的思路,這套算法就是 sparkSQL

 

sparkSQL 簡介

sparkSQL 是 spark 專門處理結構化數據的一個模塊,也就是像數據表一樣的數據,處理方式就是像 sql 一樣;

換句話說,sparkSQL 使用 sql 的方式代替了之前數據處理的方式。

 

sparkSQL 提供了兩個編程抽象:DataFrame 和 DataSet,起到了分布式 SQL 查詢引擎的作用;

sparkSQL 把 sql 語句 和 dataFrame、dataSet 轉換成了 RDD,執行效率非常快;

也就是說 dataFrame、dataSet 的底層仍然 是 RDD,並且可以互相轉換

 

sparkSQL 的特點

官方解釋

易整合

兼容 hive

統一的數據訪問方式:用同樣的方式讀取各類文件

標准的數據庫連接:可以通過 JDBC 或者 ODBC 連接標准數據庫

后面會詳細解釋。

 

sparkSQL vs DB Hive

 

 


免責聲明!

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



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