對于那些在大數據領域開始職業生涯或從傳統RDBMS轉型的人來說,SQL是一種必不可少的編程語言。
介紹
大數據系統的最新進展實現了數據湖和數據倉庫進行更快的處理、高效的分發和數據存儲。因此導致了傳統關系數據庫領域的分析技術向大數據領域的巨大遷移。
由于SQL是大數據系統中的查詢語言,這種轉變并不像預期的那么困難。
另一方面,一些工程師和分析師也開始逐漸涉足大數據領域。SQL是大數據系統中的高級語言,對于每個人來說都是必不可少的技能。
這篇文章將幫助您理解為什么SQL對于在大數據領域開始職業生涯或從傳統RDBMS轉型的人來說是一種必不可少的編程語言。本文還將回顧Hadoop引擎上廣泛使用的,可以有效地用于數據轉換和探索的SQL語言。
為什么要學習SQL
結構化查詢語言(SQL)是一種廣泛采用的聲明性語言,自關系數據庫系統開始以來就已經存在。
由于具有聲明性,因此易于學習和理解,并且符合美國國家標準協會(ANSI)的標準。這意味著,除每個數據庫提供的附錄功能外,SQL語句的基本結構也可以使用ANSI的數據庫進行維護,同時有助于使用其他數據庫。
由于SQL使用率很高,因此諸如Hadoop之類的大數據范例技術使SQL-on-Hadoop引擎運行在分析引擎之上。其中包括蜂巢、黑斑羚和其他處理引擎。
從就業能力的角度來看,SQL被認為是數據專業人員最重要的語言,因此,SQL已成為數據專業人員的必然技能。
SQL-On-Hadoop
開源SQL-On-Hadoop引擎在不同的Hadoop技術和大數據處理引擎上運行。如果精通SQL的話,那么這些工具應該很容易就能從基于分布式文件系統構建的數據湖和數據倉庫中查詢數據。
為特定問題選擇正確的SQL-On-Hadoop引擎可能非常困難。以下針對每個引擎的說明列表可以幫助您確定
Spark SQL
在Apache Spark之上運行的SQL引擎是Spark SQL。Apache Spark 3.0.0以后的版本符合是ANSI的,因此用戶可以利用Spark SQL的本機特性以及本機ANSI兼容的操作和功能。更好的是,一些云服務提供商還提供spark分析引擎作為PAAS(平臺即服務)模型,稱為Databricks,具有靈活的自動伸縮功能、協作功能,并與云服務提供商(如AWS和Microsoft Azure)耦合。
許可: 開源Apache許可(Spark),付費PAAS(Databricks)
數據格式:所有標準Hadoop文件格式-JDBC / ODBC、列格式(Parquet、ORC等)、配置單元表、對象存儲格式(JSON)、平面文件(CSV、TSV等)
關鍵要點:
- 如果需要處理引擎來執行原始計算、執行機器學習以及對海量數據負載進行數字運算,那么它是最合適的選擇。
- 不建議使用低數據量。
Apache Drill
Apache Dril是一個完全符合ANSI的大型并行處理引擎。Apache Drill的一個有趣的方面是它負責連接到多個數據源,存儲為JSON數據模型,并在檢索到的數據之上執行聚合。還可以從Spark中運行Apache Drill來檢索數據。
許可:開源Apache許可
數據格式:所有標準Hadoop文件格式
關鍵要點:
- 由于符合ANSI SQL,因此具有很高的采用率。
- 適合同時查詢多個來源的數據。
- 不適合機器學習和原始數據計算。
- 無需定義架構。
Apache Hive上的HQL
Hive是Hadoop 文件系統上的查詢引擎,用戶可以使用HQL(Hive Query Language)在Hive上進行查詢。它是一種類似SQL的查詢語言,不完全符合ANSI。Hive對數據進行批處理,這些數據只不過是在后臺運行的Map Reduce作業。
許可: 開源Apache許可
數據位置:僅結構化格式
關鍵要點:
- 批處理相對較慢。
- 不適合JSON等非結構化格式。
- 不適合運行交互式查詢。
Presto
Teradata支持由Facebook開發的開源并行處理Hadoop查詢引擎。該查詢引擎能夠跨越多個數據源并執行交互式查詢,這與能夠進行批處理的Apache Hive不同。
許可: 開源Apache許可
數據位置:所有標準Hadoop文件格式
關鍵要點:
- 適用于交互式查詢。
- 如果是本地托管,則需要進行大量實驗。
Apache Impala
Impala是又一個大規模并行處理查詢引擎,可以在Hadoop和HBase上進行交互式查詢。Impala支持HQL,與Hive不同,它不使用Map-Reduce,因此與Hive相比,查詢速度更快。
許可:開源Apache許可
數據位置:除ORC之外的所有標準Hadoop文件格式。
關鍵要點:
- 適用于交互式查詢。
- 適用于同時查詢HDFS和HBase。
- ORC支持尚未投入生產,因此實木復合地板比ORC更受青睞。
來源:DZone
地址:
https://dzone.com/articles/sql-as-an-essential-tool-for-the-big-data-landscap
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】