1. 程式人生 > >學習大資料掌握這幾個知識點,會少走很多彎路

學習大資料掌握這幾個知識點,會少走很多彎路

說到初識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