2010-07-19 149 views
8

我正在嘗試使用hadoop來練習一些數據挖掘算法。我可以單獨使用HDFS嗎?還是我需要使用像hive/hbase/pig這樣的子項目?Hadoop初學者

回答

17

我找到一所大學的網站與MapReduce的一些練習和解決方案,只有建立在Hadoop:

http://www.umiacs.umd.edu/~jimmylin/Cloud9/docs/index.html

此外,還有來自雅虎和谷歌的課程:

http://developer.yahoo.com/hadoop/tutorial/

http://code.google.com/edu/parallel/index.html

所有這些課程的工作在普通的Hadoop上,回答你的問題。

+1

對於雅虎+1。身份證採取簡單的雅虎教程,並展開他們。使輸入文件更大,更改地圖/縮小功能,從單一實例轉到小型羣集,並不斷擴展您以前完成的任務。 – 2010-07-20 07:08:16

2

我也推薦umd網站。但是看起來您對Hadoop完全陌生。我會推薦Tom White編寫的「Hadoop:定義指南」一書。它有點過時了[意味着0.18版本,而不是最新的0.20+)。閱讀它,做例子,你應該在更好的地方判斷如何構建你的項目。

3

從初學者級別的普通mapreduce開始。您可以嘗試下一級的Pig/Hive/Hbase。

您將無法欣賞豬/蜂巢/ HBase的,除非你努力不夠使用純映射精簡

+0

+1。它無疑是值得的痛苦。 – sholsapp 2010-08-18 23:00:18

1

你也可以使用亨利馬烏http://mahout.apache.org/

它是一種機器學習和數據挖掘庫可以在Hadoop之上使用。

一般而言亨利馬烏目前支持(來自亨利馬烏站點獲得):

  • 協同過濾
  • 基於用戶和項目推薦者
  • K均值,模糊K均值聚類
  • 均值漂移聚類
  • Dirichlet進程集羣
  • 潛在Dirichlet分配
  • 基於
  • 奇異值分解
  • 並行頻繁模式挖掘
  • 互補樸素貝葉斯分類
  • 隨機森林決策樹分類
1

Hadoop是分佈式/並行數據處理的工具。 Mahout是一個數據挖掘/機器學習框架,可以在獨立模式下工作,也可以在Hadoop分發環境中工作。將其作爲獨立或Hadoop使用的決定歸結爲需要挖掘的歷史數據的大小。如果數據大小的數量級別是千兆字節和千兆字節,則通常使用Mahout和Hadoop。

Mahout支持3機器學習算法,推薦,聚類和分類。 Mahout在行動 manning的書做了很好的解釋。 Weka是另一個類似的開源項目。所有這些都歸類爲機器學習框架。

請參閱關於如何使用案例的博客Mahout and Hadoop distributed file system works?作爲這方面的先驅,還有一個關於如何將這些工具結合在一起用於Hadoop/Mahout生態系統中的數據挖掘問題的博客。

我希望它有幫助。

2

我正在嘗試使用hadoop來練習一些數據挖掘算法。

使用運行在Hadoop之上的Apache mahout。 [http://mahout.apache.org/][1]

我可以單獨使用HDFS嗎?還是我需要使用像hive/hbase/pig這樣的子項目?

HDFS是hadoop的文件系統。它代表Hadoop分佈式文件系統。無論您將在Hadoop堆棧中使用哪種工具,他們都應該處理分佈式環境中的數據。所以,你只能用HDFS做任何事情。你需要任何像Map Reduce,Pig,Hive等計算技術/工具。

希望這有助於!

0

您必須根據自己的優勢在Hadoop生態系統中使用不同的工具。

HiveHbase都好處理結構化數據

Sqoop用於從傳統的RDBMS數據庫Oracle,SQL服務器等

Flume用於處理取消結構化數據導入結構化數據。

您可以使用內容管理系統處理非結構化數據&半結構化數據 - Tera或Peta字節的數據。如果你存儲的未結構化的數據,我更喜歡存儲在CMS中的數據和NoSQL的使用元數據信息數據庫像HBASE(例如Image Id , MD5SUM of image

要處理大數據流,你可以使用Pig

Spark是一款快速且通用的Hadoop數據計算引擎。星火提供了支持廣泛的應用,包括ETL,機器學習,流處理和圖形計算的簡單和表現力的編程模型

看一看Structured DataUn-Structured data Hadoop中

處理看一看完成hadoop ecosystem和這個SE question

1

您可以一起使用R,Spark Hadoop作爲完整的開源解決方案。

  1. R-統計語言,它提供了許多開箱即用的庫。

  2. 用於數據處理的Spark框架比MR機器學習算法更快。

  3. Hadoop-基於商品硬件的可擴展且健壯的數據存儲。

0

取決於您的應用程序。您需要了解配置單元,豬,hbase的用途,然後您可以確定它們在應用程序中的位置。這些創建了一個具體的原因,你需要了解簡單的谷歌會得到結果

0

HDFS是一個分佈式存儲系統轉儲您的數據進一步分析。

Hive/Pig/MR/Spark/Scala等....是分析數據的工具。你實際上在你的算法中寫下你的算法。只有Pig/Hive/Hbase才能達到100%。您應該知道如何編寫Map Reduce算法並需要將這些算法導入到Hive/Pig中。

ETL工具: 豬(腳本語言) 蜂巢(SQL像結構化數據查詢語言) HBASE非結構化數據的可以實現實時數據實證分析。在MapReduce逐步運行的同時,Spark一舉操作了整個數據集的 。 Sqoop:從RDDMS 水槽導入/導出數據:導入流數據到Hadoop的 亨利馬烏:機器學習algorith工具

的Hadoop權威指南是好的開始,適合初學者。