2010-03-03 47 views
0

我很想得到一個感覺,如果haddop是我有問題的正確工具。使用Hadoop匹配大型數據集?

我正在構建與2個數據集匹配的脫機進程(每月一次或四分之一):A和B. 數據集A位於Oracle上,數據集B是XML文件。數據集A約爲20M記錄,數據集B爲6M記錄。
每個記錄代表的音樂歌曲,並具有以下格式:

song { 
    songid: 

    // type of string , avg_num_of_titles_per_song=1.4 , std_deviation=1.9 
    titles:[] 

    // type of string avg_num_of_performers_per_song=1.5 std_deviation=0.9 
    performers:[] 
} 

兩個記錄匹配,如果: - 至少一個標題匹配,即使用精確匹配或語音算法或距離算法 - 至少在表演匹配使用相同的算法:精確,語音,距離等(我們仍在評估匹配算法)

該過程的輸出是2個數據集: (1)單個匹配,其中A中的記錄僅匹配一次B和B中的相同記錄僅在A中匹配一次。 (2)m多重匹配

hadoop會成爲工作的正確工具嗎?

謝謝。

回答

1

它應該工作。然而,你的數據集並沒有那麼大,沒有理由使用hadoop。你可以在一臺強大的服務器上運行它。您需要做的是首先將較小的數據集放入distcache中,以均勻分佈在不同的節點上。然後,您可以將第二個較大的數據集從oracle數據庫中取出並上載到HDFS。然後啓動一個匹配兩個數據集的地圖作業。生成輸出只是標準的map-reduce編程。