場景:我們在網路上面有多臺MySql資料庫,我們想要使用Hadoop處理資料庫中的資料。
對于如何處理現在有兩種意見:
1. 要把資料從Mysql中取出,然后匯入到Hadoop的集群(集群和Mysql資料庫服務器不在同一個地方)中,然后進行處理,將處理的結果存盤到Mysql資料庫或者是Hbase中。
2. 直接用Hadoop操作資料庫。使用Hadoop的DBInputFormat讀取資料庫中的資料。具體的是這樣的,就是將Mysql資料庫所在的服務器,部署成Hadoop集群的一個節點。在Hadoop分配任務時,將任務分配到有相應資料的節點上,在通過API取資料,并執行資料分析的操作。
我現在是認為,第二種不太可行,但是我的大多數同學和老師都支持第二種,我就想問一下,這兩種應該哪種更適合。還有就是第二種,我記得那個操作資料庫的API,是在Job啟動的時候就已經配置好了吧,每次只能使用一個資料庫中的資料吧。時代互聯DOMAIN tnet.hk
求解惑,謝謝了
更多 0
uj5u.com熱心網友回復:
直接用sqoop把mysql的資料匯入到hadoop吧,我們公司就是這么干的,速度也不慢轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/72700.html
標籤:云存儲
上一篇:spark streaming 重新啟動Exception in thread "main" org.apache.spark.SparkException:
