學習一項技術最重要的是要了解它能解決什麼問題,那麼學習大資料可以解決什麼問題呢?
一、大資料可以解決什麼問題?
-
場景一:電商網站要把過去一個月或一年賣的好的商品放到首頁推薦給使用者。
問題1:過去一個月或者一年的訂單數量是巨大的,如何存儲?
問題2:假設已經找到存儲的方案了,那麼大量的訂單如何計算?
-
場景二:天氣預報需要根據過去一年或者十年的天氣狀況預測明天或者下個周的天氣狀況。
問題1:過去一年或者十年的天氣狀況資訊是巨大的,如何存儲?
問題2:假設已經解決了存儲的問題,那麼近十年的天氣狀況資料要如何計算?
沒錯,大資料可以解決海量資料的存儲和計算這兩個問題。
- 海量資料的存儲是使用分布式存儲(HDFS)
- 海量資料的計算是使用分布式計算(MapReduce)
Hadoop則是內建了分布式存儲和分布式計算這兩種功能的一種大資料的解決方案。
二、Hadoop
- Hadoop 的 HDFS(Hadoop Distributed File System ,Hadoop分布式檔案系統)解決了資料的分布式存儲。
- Hadoop 的 MapReduce 計算模型解決了資料的分布式計算。
- Hadoop也可以看成是資料倉庫的一種實作方式。</