三款大資料工具比拼,誰才是真正的王者

來源:互聯網
上載者:User

標籤:

業內有這樣一種說法,SQL雖然在大資料分析領域久經考驗,但是無奈長江後浪推前浪,和炙手可熱的Hadoop相比,SQL已經過時了。這個說法有點言過其實,現在很多的項目都是將Hadoop作為資料存放區,然後利用SQL進行前端查詢。這說明Hadoop需要一種進階查詢語言的支援。 Hadoop MapReduce雖然能夠進行資料分析,但是太複雜了。於是,開發人員開發出了類似SQL的Pig和Hive。

  大資料時代,我們有很多的查詢工具可以選擇。雖然SQL佔據著絕對優勢,但是隨著大資料的持續升溫,也給了Apache Pig和Hive很大的發揮空間。工欲善其事必先利其器,如果選擇了合適的平台和語言,會讓資料的提取,處理和分析達到事半功倍的效果。未來,資料會越來越大,資料分析必須要更易操作。處理速度快和操作簡單必定成為大資料分析的主流趨勢。

  Apache Pig,Apache Hive和SQL是當今主流的大資料工具。它們各有優勢,下面我們就先來簡單介紹Apache Pig、Apache Hive和SQL。

  SQL

  結構化查詢語言 (SQL)(SQL)是程式員的最佳伴侶,主要用於處理和提取資料。大資料改變了資料處理和可視化的方式。但是SQL嚴格的關聯式資料庫模式和聲明特性依然是資料分析的標杆。儘管SQL市場廣闊,但是大資料也對SQL的功能和效能提出了挑戰。

  Pig

  Apache Pig適合有SQL背景的程式員學習,其有以下兩個特點:

  1.放寬了對資料存放區的要求

  2.可以操作大型資料集

  Apache Pig是雅虎在2006年開發,除了上述特點,它還有很好的可擴充性和效能最佳化。 Apache Pig允許開發人員跟蹤多個查詢方法,從而降低了資料的重複檢索。它支援複合資料型別(Map、Tuple、Bag),支援常見的資料操作,例如篩選、排序和Join。Apache Pig的這些特性得到了世界各地使用者的認可,就連雅虎和推特也採用了Apache Pig。

  Hive

  儘管Apache Pig效能優異,但是它要求程式員要掌握SQL之外的知識。Hive和SQL非常相似,雖然Hive查詢語言(HQL)有一定的局限性,但它仍然是非常好用的。Hive為MapReduce提供了很好的開源實現。它在分散式處理資料方面表現很好,不像SQL需要嚴格遵守模式。

  資料的提取、處理和分析沒有一個萬全之策,需要綜合多種因素來選擇,例如資料存放區方法,程式設計語言結構以及預期的結果。下面我們就來對比一下Pig、Hive和SQL,看看它們各自都適合什麼樣的情境。

  Pig VS SQL

  SQL在DBMS系統的運行速度要比MapReduce(Pig運行在PigLatin平台)快。然而,RDBMS的資料載入很具挑戰,設定困難。 PigLatin在聲明式執行計畫、ETL流程和管道修改方面更有優勢。

  在很大程度上,SQL是聲明式語言,而PigLatin是過程語言。SQL主要是指定完成的對象,即要完成“什麼”,而Pig主要是制定完成的方式,即“如何”執行一個任務。在執行之前,Pig指令碼要轉化成MapReduce任務。不過,Pig指令碼比相應的MapReduce任務要短,顯著縮短了開發時間。

  Hive VS SQL

  SQL是一個被廣泛用於事務性和分析查詢的通用資料庫語言。而Hive是以資料分析為目標而設計的,這也決定了Hive會缺少更新和刪除功能,但是讀取和處理海量資料的能力會很強。Hive和SQL是非常相似的,最主要的區別就是Hive缺少更新和刪除功能。

  儘管Hive和SQL有所區別,但是如果你有SQL背景,就可以平穩過渡到Hive。另外,一定要注意兩者在結構和文法上的差異。

  相信大家通過上面對Pig、Hive和SQL的介紹,對它們都有了一定的瞭解,下面我們就來介紹一下它們的具體適用情境。

  Apache Pig的適用情境

  Apache Pig適用於非結構化的資料集,可以充分利用SQL。Pig無需構建MapReduce任務,如果你有SQL學習的背景,那麼入門會非常快。

  Apache Hive的應用情境

  很多企業都需要對曆史資料進行分析,Hive就是一款分析曆史資料的利器。但是Hive只有在結構化資料的情況下才能大顯神威。Hive的軟肋是即時分析,如果想要進行即時分析,可以採用HBase。

  SQL的應用情境

  SQL是三者之中資曆最老的資料分析工具,隨著使用者需求的不斷變更,SQL也在不斷的自我更新,現在仍然是一個與時俱進的工具。對專業的資料分析師來說,毫無疑問,SQL比Excel要強,但是,它在快速處理和分析資料方面仍然存在著短板。如果資料要求不是很苛刻,SQL是一個很好的選擇,它的廣泛性和靈活性得到了開發人員的認可。因為絕大數的開發人員都熟悉SQL,所以可以馬上上手,同時SQL還提供了一些擴充和最佳化功能,可以根據需求來定製產品。

  現在還沒有任何一個工具可以適用所有的資料,SQL、Pig和Hive都有各自的適用情境,所以適合自己應用情境的工具就是最好的工具。

  原文出處:http://www.hadoop360.com/blog/pig-vs-hive-vs-sql-difference-between-the-big-data-tools

三款大資料工具比拼,誰才是真正的王者

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.