2012-05-04 48 views
0

我的任務就是 1)首先我想用SQOOP從MS SQL Server中的數據導入到HDFS。 2)通過Hive我正在處理數據並在一個表中生成結果 3)包含Hive表的結果再次導出到MS SQL SERVER。相關工作的執行速度在亞馬遜彈性MapReduce

我想使用Amazon Elastic Map Reduce執行所有這些操作。

其中我從MS SQL服務器導入數據量非常大(在附近的一個表約5,00,000條目。像明智的我有30桌)。爲此,我在Hive中寫了一個只包含查詢的任務(並且每個查詢都使用了很多連接)。所以由於這個原因,我的單個本地機器的性能非常差(完全執行需要大約3個小時)。

我想盡可能減少這個時間。爲此,我們決定使用Amazon Elastic Mapreduce。目前我正在使用3個m1.large實例,並且仍然具有與本地計算機相同的性能。

爲了提高我應該需要使用什麼號碼情況下的性能? 由於我們使用的實例數量是自動配置的,還是需要在爲其執行JAR時進行指定?因爲我使用兩臺機器的時間是一樣的。

並且也有以提高性能,或者只是增加實例的數量的任何其他方式。或者我在執行JAR時做錯了什麼?

請指導我這個因爲我不太瞭解亞馬遜的服務器。

謝謝。

+0

這完全取決於您的數據以及您正在進行的查詢。你能否更詳細地解釋一下你的日誌是什麼樣的,以及你正在做什麼樣的map/reduce工作? – Suman

回答

2

你可以嘗試神經節,它可以使用引導作用的EMR集羣上安裝。這會給你一些指標在集羣中的每個節點的性能,可幫助您優化以獲得正確的尺寸集羣: http://docs.amazonwebservices.com/ElasticMapReduce/latest/DeveloperGuide/UsingEMR_Ganglia.html

如果使用EMR的Ruby客戶端在本地機器上,你可以設置一個SSH隧道允許您在Firefox中查看神經節網頁界面(您還需要按照以下http://docs.amazonwebservices.com/ElasticMapReduce/latest/DeveloperGuide/emr-connect-master-node-foxy-proxy.html設置FoxyProxy)