- Spark SQL入門與實(shí)踐指南
- 紀(jì)涵
- 535字
- 2019-12-06 16:38:16
1.2 Spark SQL能做什么
現(xiàn)在我們知道了Spark SQL是怎么來的,那么Spark SQL到底能做些什么呢?下面我們根據(jù)ETL(數(shù)據(jù)的抽取、轉(zhuǎn)換、加載)的三個(gè)過程來講解一下Spark SQL的作用。
(1)抽取(Extract):Spark SQL可以從多種文件系統(tǒng)(HDFS、S3.本地文件系統(tǒng)等)、關(guān)系型數(shù)據(jù)庫(MySQL、Oracle、PostgreSQL等)或NoSQL數(shù)據(jù)庫(Cassandra、HBase、Druid等)中獲取數(shù)據(jù),Spark SQL支持的文件類型可以是CSV、JSON、XML、Parquet、ORC、Avro等。得益于Spark SQL對多種數(shù)據(jù)源的支持,Spark SQL能從多種渠道抽取人們想要的數(shù)據(jù)到Spark中。
(2)轉(zhuǎn)換(Transform):我們常說的數(shù)據(jù)清洗,比如空值處理、拆分?jǐn)?shù)據(jù)、規(guī)范化數(shù)據(jù)格式、數(shù)據(jù)替換等操作。Spark SQL能高效地完成這類轉(zhuǎn)換操作。
(3)加載(Load):在數(shù)據(jù)處理完成之后,Spark SQL還可以將數(shù)據(jù)存儲(chǔ)到各種數(shù)據(jù)源(前文提到的數(shù)據(jù)源)中。
如果你以為Spark SQL只能做上面這些事情,那你就錯(cuò)了。Spark SQL還可以作為一個(gè)分布式SQL查詢引擎通過JDBC或ODBC或者命令行的方式對數(shù)據(jù)庫進(jìn)行分布式查詢。Spark SQL中還有一個(gè)自帶的Thrift JDBC/ODBC服務(wù),可以用Spark根目錄下的sbin文件夾中的start-thriftserver.sh腳本啟動(dòng)這個(gè)服務(wù)。Spark中還自帶了一個(gè)Beeline的命令行客戶端,讀者可以通過這個(gè)客戶端連接啟動(dòng)的Thrift JDBC/ODBC,然后提交SQL。
如果你以為Spark SQL能做的只有這些,那你就錯(cuò)了。Spark SQL還可以和Spark的其他模塊搭配使用,完成各種各樣復(fù)雜的工作。比如和Streaming搭配處理實(shí)時(shí)的數(shù)據(jù)流,和MLlib搭配完成一些機(jī)器學(xué)習(xí)的應(yīng)用。
- 高效能辦公必修課:Word圖文處理
- 大數(shù)據(jù)專業(yè)英語
- Getting Started with MariaDB
- 工業(yè)機(jī)器人工程應(yīng)用虛擬仿真教程:MotoSim EG-VRC
- 最簡數(shù)據(jù)挖掘
- RPA(機(jī)器人流程自動(dòng)化)快速入門:基于Blue Prism
- Visual C++編程全能詞典
- 計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)
- Applied Data Visualization with R and ggplot2
- Windows安全指南
- JRuby語言實(shí)戰(zhàn)技術(shù)
- 這樣用Word!
- Microsoft Power BI Complete Reference
- Building Smart Drones with ESP8266 and Arduino
- 單片機(jī)原理、應(yīng)用與PROTEUS仿真