現在好像大家都在講 大資料 雲計算 hadopp .那麼hadoop究竟能做些什麼呢?
網上的資料大多是這麼寫的: 乙個分布式系統基礎架構,由apache**會開發。使用者可以在不了解分布式底層細節的情況下,開發分布式程式。充分利用集群的威力高速運算和儲存。hadoop實現了乙個分布式檔案系統(hadoop distributed file system),簡稱hdfs。hdfs有著高容錯性的特點,並且設計用來部署在低廉的(low-cost)硬體上。而且它提供高傳輸率(high throughput)來訪問應用程式的資料,適合那些有著超大資料集(large data set)的應用程式。hdfs放寬了(relax)posix的要求(requirements)這樣可以流的形式訪問(streaming access)檔案系統中的資料。
看的人雲裡霧裡,根本不知道在說什麼.
其實說穿了. hadoop就是乙個分布式計算的解決方案而已.
設想一下這樣的應用場景. 我有乙個100m 的資料庫備份的sql 檔案.我現在想在不匯入到資料庫的情況下直接用grep操作通過正則過濾出我想要的內容
例如:某個表中 含有相同關鍵字的記錄
那麼有幾種方式,一種是直接用linux的命令 grep 還有一種就是通過程式設計來讀取檔案,然後對每行資料進行正則匹配得到結果
好了 現在是100m 的資料庫備份.上述兩種方法都可以輕鬆應對.
那麼如果是1g , 1t 甚至 1pb 的資料呢 ,上面2種方法還能行得通嗎? 答案是不能.畢竟單台伺服器的效能總有其上限.那麼對於這種 超大資料檔案怎麼得到我們想要的結果呢?
有種方法 就是分布式計算, 分布式計算的核心就在於 利用分布式演算法 把執行在單台機器上的程式擴充套件到多台機器上並行執行.從而使資料處理能力成倍增加.但是這種分布式計算一般對程式設計人員要求很高,而且對伺服器也有要求.導致了成本變得非常高.
haddop 就是為了解決這個問題誕生的.haddop 可以很輕易的把 很多linux的廉價pc 組成 分布式結點,然後程式設計人員也不需要知道分布式演算法之類,只需要根據mapreduce的規則定義好介面方法,剩下的就交給haddop. 它會自動把相關的計算分布到各個結點上去,然後得出結果.
例如上述的例子 : hadoop 要做的事 首先把 1pb的資料檔案匯入到 hdfs中, 然後程式設計人員定義好 map和reduce, 也就是把檔案的行定義為key,每行的內容定義為value , 然後進行正則匹配,匹配成功則把結果 通過reduce聚合起來返回.hadoop 就會把這個程式分布到n 個結點去並行的操作.
那麼原本可能需要計算好幾天,在有了足夠多的結點之後就可以把時間縮小到幾小時之內.
這也就是所謂的 大資料 雲計算了.如果還是不懂的話再舉個簡單的例子
比如 1億個 1 相加 得出計算結果, 我們很輕易知道結果是 1億.但是計算機不知道.那麼單台計算機處理的方式做乙個一億次的迴圈每次結果+1
那麼分布式的處理方式則變成 我用 1萬台 計算機,每個計算機只需要計算 1萬個 1 相加 然後再有一台計算機把 1萬台計算機得到的結果再相加
從而得到最後的結果.
理論上講, 計算速度就提高了 1萬倍. 當然上面可能是乙個不恰當的例子.但所謂分布式,大資料,雲計算 大抵也就是這麼回事了.
國內就是喜歡炒概念,不喜歡解決實際問題.
品牌究竟能幫助商家做什麼
一種產品的 除了有它製作成本的 還有它的品牌價值以及品牌故事的增值。好的品牌及產品離不開背後的品牌故事。乙個好的品牌故事可以給品牌以及產品注入更多的力量。乙個好的品牌故事需要具備以下幾點 1.說服力 好的故事像是乙個推銷員,可以讓消費者產生信賴感,願意付更多錢購買。大部分品牌故事都要具備足夠的說服力...
能做什麼,想做什麼
做為乙個企業,首先要明確的是自己能做什麼。看到做什麼能賺錢就上 做一手好菜,你可以去開餐館 養雞的,就開個養雞場 會理財的,就做 做投資。不管你能做什麼,至少你要能做一件事,那是安身立命之本呀1.一把菜刀在手,吃喝不愁。做企業,可以先培養自己的優勢,然後謀求發展。把自己的優勢應用到相應的行業中,為其...
Hadoop到底能做什麼?怎麼用hadoop?
調研hadoop頗久,就是想知道hadoop是什麼?hadoop能做什麼?怎麼用hadoop?最主要是這三塊,至於投入和風險也會隨之出來 濃縮了我幾十頁的調研方案啊!hadoop是什麼?hadoop是乙個開源的框架,可編寫和執行分布式應用,處理大規模資料,是專為離線和大規模資料分析而設計的,並不適合...