2012-11-13 71 views
3

我需要進口維基百科轉儲(MySQL表,解壓後的文件大約需要50GB)到Hadoop的(HBase的)。現在,我首先將dump加載到mysql中,然後將數據從mysql傳輸到hadoop。但是將數據加載到MySQL需要大量的時間 - 大約4-7天。是否有可能直接加載mysql轉儲到hadoop(通過一些轉儲文件解析器或類似的東西)?如何將大型MySQL轉儲導入到hadoop?

+0

你爲什麼要將數據轉移到mysql?您是否在使用它進行進一步處理?如果沒有,那麼有一種方法可以直接將數據放入hadoop。將添加基於你回答什麼 –

+0

也許你可以利用https://sqoop.apache.org/ – rretzbach

回答

2

至於我記得 - MySQL的轉儲幾乎全部被設置插入語句的。你可以在你的映射器中解析它們,並按原樣處理它們......如果你只有少數表格,那麼在java中解析代碼很困難。

+0

的答案是,它的工作原理。只需要1小時即可將7.6億記錄轉儲轉換爲csv格式。之後,導入到hadoop或mongo是微不足道的。 – hudvin

+0

我很高興能有幫助 –

1

使用sqoop。使用map reduce作業將mysql數據導入HDFS的工具。

這是很方便的。

+0

據我所知它需要的數據是已經在MySQL(通過JDBC訪問) – hudvin

+0

Sqoop可以從CSV並在Avro的格式文件導入 - 見http://sqoop.apache.org/docs/1.4。 4/SqoopUserGuide.html#_file_formats – blueberryfields