科技資訊:Hadoop上的SQL如何幫助大數據分析

導讀新時代高科技不計其數越來越發達,小伙伴們看過不少科技新聞吧,在我們生活中應該也用到很多這些高科技東西,有哪些小伙伴值的關注的呢,今

新時代高科技不計其數越來越發達,小伙伴們看過不少科技新聞吧,在我們生活中應該也用到很多這些高科技東西,有哪些小伙伴值的關注的呢,今天就跟大家分享一篇有關科技方面知識,希望大家會喜歡。

Hadoop上的SQL是一組分析應用程序工具,它??將SQL樣式的查詢和數據處理與最新的Hadoop數據框架元素相結合。Hadoop上SQL的出現是大數據的重要發展處理,因為它允許更廣泛的人群通過對Hadoop處理的大量大數據運行SQL查詢來成功使用Hadoop數據處理框架。顯然,Hadoop框架以前不是人們可以訪問的,特別是在查詢功能方面。在開發的基礎上,已經開展了多項工具,這些工具有望在質量和速度的處理和分析大數據時提高企業的生產力。也沒有必要在學習該工具上投入大量資金,因為傳統的SQL知識應該這樣做。

Hadoop上SQL的定義

Hadoop上的SQL是一組應用程序,允許您對Hadoop數據處理框架托管的大數據運行SQL樣式查詢。顯然,通過在Hadoop上添加SQL,數據查詢,檢索和分析變得更加容易。由于SQL最初是為關系數據庫設計的,因此必須根據包含MapReduce和Hadoop分布式文件系統(HDFS)的Hadoop 1模型以及沒有MapReduce和HDFS的Hadoop 2模型進行修改。

最早將SQL與Hadoop結合起來的努力之一是使用HiveQL軟件創建了Hive數據倉庫,該軟件可以將SQL樣式的查詢轉換為MapReduce作業。之后,開發了幾個可以完成類似工作的應用程序。后來的工具中突出的是Drill,BigSQL,HAWQ,Impala,Hadapt,Stinger,H-SQL,Splice Machine,Presto,PolyBase,Spark,JethroData,Shark(Hive on Spark)和Tez(Hive on Tez)。

Hadoop上的SQL如何工作?

Hadoop上的SQL通過以下方式與Hadoop協同工作:

Hadoop環境中的連接器將SQL查詢轉換為MapReduce格式,以便Hadoop了解查詢。

下推系統在Hadoop集群中執行SQL查詢。

系統根據群集的工作負載劃分MapReduce-HDFS群集之間的大量SQL查詢。

似乎SQL查詢不會改變它的性質; 它是Hadoop,使查詢適應它理解的格式。

SQL在Hadoop上的主要優點

如前所述,Hadoop上的SQL是一個重要的開發環境,可以讓更多人可以訪問大數據分析,并使數據分析更容易,更快捷。毫無疑問,Hadoop數據框架已經成為大數據分析的一個很好的工具,但它仍然只能由一小群人訪問,這不僅是因為學習其獨特架構所需的巨大努力,還因為它與其他技術存在兼容性問題。Hadoop上的SQL承諾解決這些問題。

更多人現在可以訪問Hadoop

似乎Hadoop上的SQL使得Hadoop更加平等,因為更廣泛的人群現在可以使用Hadoop來處理和分析數據。早些時候,為了使用Hadoop,您需要了解Hadoop架構 - MapReduce,Hadoop分布式文件系統或HBase。現在,您可以插入幾乎所有分析或報告工具,并訪問和分析數據。感謝Hadoop上的SQL,Hadoop引擎上的一些SQL,如Cloudera Impala,Concurrent Lingual,Hadapt,CitusDB,InfiniDB,MammothDB,MemSQL,Pivotal HAWQ,Apache Drill,ScleraDB,Progress DataDirect,Simba和Splice Machine現已商業化,可用于大數據。顯然,這已經使Hadoop面向更廣泛的受眾,現在可以期望增加大數據投資的回報。

使用Hadoop分析大數據現在更簡單了

現在,您需要做的就是在大數據上運行舊的SQL查詢來檢索和分析數據。SQL已經從僅僅是一個關系數據庫工具發展成為一個大數據分析工具,這確實是一個重大變化。您無需擔心Hadoop如何處理查詢 - 它有自己的方式來解釋SQL查詢并為您提供結果。專家認為,雖然Hadoop分布式文件系統確實具有并行處理大數據的商品集群,但如果它與SQL式交互式查詢一起工作,它可以提高其處理能力。在HDFS與SQL結合之前,使用HDFS處理數據需要很長時間,而任務需要專業的數據科學家。并且查詢不是交互式的。Apache Tez框架包含Spark 分析引擎和Hive數據倉庫的Stinger交互式查詢加速器,這些問題已得到解決。根據零售商Target Corporation的戰略和架構集團經理Anu Jain的說法,“確保我們為用戶提供交互式查詢訪問權限對我們非常重要。通過Tez,我們能夠為業務提供這種能力。“

正如Gartner調查顯示,Hadoop用戶中交互式分析的普及程度一直在增長。根據調查,32%的受訪者使用HDFS或HBase的第三方接口,27%的受訪者使用Hive自行創建的查詢,而23%的受訪者使用Hadoop特定于分發的工具,如Cloudera Impala和Pivotal HAWQ。

關于Hadoop上SQL的另一個視角

雖然Hadoop上的SQL似乎將解決我們在Hadoop上遇到的許多問題,但還有另一種觀點認為SQL可能存在很多問題,尤其是在與Hadoop結合使用時。根據這種觀點,在涉及大數據時,SQL可能不是那么高效的分析工具。根據Hadoop Summit用戶小組成員John Williams的說法,SQL可能不是處理大數據的最佳分析工具。根據威廉姆斯的說法,他是TrueCar平臺運營高級副總裁,該公司為用戶提供在線購車平臺,“大型數據集上的SQL執行時間很慢。與此同時,使用YARN和Tez之類的東西,SQL上的Hadoop變得越來越快。“

這不是SQL的唯一問題。當您將SQL與Hadoop結合使用時,需要注意數據研究,模式構思,索引和查詢創建以及規范化等許多開銷任務,并且您可能會花費大量的時間和精力。經過所有這些努力,無法保證您已完成任何永久性的工作。如果有的話,隨著應用程序的更改,您可能需要重做已經完成的操作。而不是SQL,應該基于Java和Python完成以數據為中心的大型開發,因為這些語言更適合非結構化數據處理。

結論

關于Hadoop上的SQL是否能解決人們面臨使用Hadoop的問題,評委們仍然不清楚。但顯然,行業需要一個更好的替代Hadoop自己的數據查詢功能,而這個替代方案必須是交互式的。Hadoop工具上的SQL提供了交互式分析,這很有用。企業不希望浪費時間去嘗試從復雜,耗時的分析中理解。目前,企業在Hadoop工具上發現SQL非常有用。

免責聲明:本文由用戶上傳,如有侵權請聯系刪除!