學習大資料掌握這幾個知識點,會少走很多彎路
說到初識Hadoop,這章我們一起來聊聊,更高效的WordCount。
在聊之前我多說兩句,大家既然想學習大資料,那麼就請你放棄你自己認為的自學,或者是看幾本書就能學會的念頭,好好的一步一步的系統的去學習才是王道,畢竟學完之後我們是用來創造價值的,所以一定要好好學。
我從事了5年大資料探勘,分析開發的工程師,今年年初我花了一個月整理了一份最適合2018年學習的大資料乾貨,包括資料採
集。資料儲存和管理。資料處理和分析。資料隱私和安全。雲安全,雲技術,人工智慧等資料都有整理,想學習的夥伴可以加大
資料學習群:716581014
第二章:更高效的WordCount
2.1 學點SQL吧
你知道資料庫嗎?你會寫SQL嗎?
如果不會,求求你了,學點SQL吧。
2.2 SQL版WordCount
在1.6中,你寫(或者抄)的WordCount一共有幾行程式碼?
給你看看我的:
SELECT word,COUNT(1) FROM wordcount GROUP BY word;
這便是SQL的魅力,程式設計需要幾十行,我這一句就搞定;使用SQL處理分析Hadoop上的資料,高效、方便、更是趨勢。不論是離線計算還是實時計算,越來越多的大資料處理框架都在積極提供SQL介面。
2.3 SQL On Hadoop之Hive
什麼是Hive?官方給的解釋是:
The Apache Hive data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storage and queried using SQL syntax.(看不懂參考第一章,第一條)
為什麼說Hive是資料倉庫工具,而不是資料庫工具呢?有的朋友可能不知道資料倉庫,資料倉庫是邏輯上的概念,底層使用的是資料庫,資料倉庫中的資料有這兩個特點:最全的歷史資料(海量)、相對穩定的;所謂相對穩定,指的是資料倉庫不同於業務系統資料庫,資料經常會被更新,資料一旦進入資料倉庫,很少會被更新和刪除,只會被大量查詢。而Hive,也是具備這兩個特點,因此,Hive適合做海量資料的資料倉庫工具,而不是資料庫工具。
2.4 安裝配置Hive
請參考1.1 和 1.2 完成Hive的安裝配置。可以正常進入Hive命令列。
2.5 試試使用Hive
請參考1.1 和 1.2 ,在Hive中建立wordcount表,並執行2.2中的SQL語句。
在Hadoop WEB介面中找到剛才執行的SQL任務。
看SQL查詢結果是否和1.4中MapReduce中的結果一致。
2.6 Hive是怎麼工作的
上面寫的是SQL,為什麼Hadoop WEB中看到的是MapReduce任務呢?
2.7 學會Hive的基本命令
建立、刪除表;載入資料到表;下載Hive表的資料;
請參考1.2,學習更多關於Hive的語法和命令。
從上面的學習,你已經學到:
HDFS是Hadoop提供的分散式儲存框架,它可以用來儲存海量資料
MapReduce是Hadoop提供的分散式計算框架,它可以用來統計和分析HDFS上的海量資料而Hive則是SQL On Hadoop
Hive提供了SQL介面,開發人員只需要編寫簡單易上手的SQL語句,Hive負責把SQL翻譯成MapReduce,提交執行
此時,你的”大資料平臺”是這樣的:
大資料學習群:7165////81014