- Spark SQL入門與實踐指南
- 紀涵
- 535字
- 2019-12-06 16:38:16
1.2 Spark SQL能做什么
現(xiàn)在我們知道了Spark SQL是怎么來的,那么Spark SQL到底能做些什么呢?下面我們根據(jù)ETL(數(shù)據(jù)的抽取、轉(zhuǎn)換、加載)的三個過程來講解一下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ù)清洗,比如空值處理、拆分數(shù)據(jù)、規(guī)范化數(shù)據(jù)格式、數(shù)據(jù)替換等操作。Spark SQL能高效地完成這類轉(zhuǎn)換操作。
(3)加載(Load):在數(shù)據(jù)處理完成之后,Spark SQL還可以將數(shù)據(jù)存儲到各種數(shù)據(jù)源(前文提到的數(shù)據(jù)源)中。
如果你以為Spark SQL只能做上面這些事情,那你就錯了。Spark SQL還可以作為一個分布式SQL查詢引擎通過JDBC或ODBC或者命令行的方式對數(shù)據(jù)庫進行分布式查詢。Spark SQL中還有一個自帶的Thrift JDBC/ODBC服務(wù),可以用Spark根目錄下的sbin文件夾中的start-thriftserver.sh腳本啟動這個服務(wù)。Spark中還自帶了一個Beeline的命令行客戶端,讀者可以通過這個客戶端連接啟動的Thrift JDBC/ODBC,然后提交SQL。
如果你以為Spark SQL能做的只有這些,那你就錯了。Spark SQL還可以和Spark的其他模塊搭配使用,完成各種各樣復(fù)雜的工作。比如和Streaming搭配處理實時的數(shù)據(jù)流,和MLlib搭配完成一些機器學(xué)習(xí)的應(yīng)用。
- 面向STEM的mBlock智能機器人創(chuàng)新課程
- Learning Microsoft Azure Storage
- Getting Started with Containerization
- 數(shù)據(jù)運營之路:掘金數(shù)據(jù)化時代
- JSP從入門到精通
- Kubernetes for Serverless Applications
- Mastering Game Development with Unreal Engine 4(Second Edition)
- 邊緣智能:關(guān)鍵技術(shù)與落地實踐
- 中國戰(zhàn)略性新興產(chǎn)業(yè)研究與發(fā)展·智能制造裝備
- Salesforce Advanced Administrator Certification Guide
- C++程序設(shè)計基礎(chǔ)(上)
- 傳感器與自動檢測
- 機床電氣控制與PLC
- 計算機應(yīng)用基礎(chǔ)實訓(xùn)(職業(yè)模塊)
- Visual Basic項目開發(fā)案例精粹