我有一種情況,我必須將數據/文件從PROD複製到UAT(hadoop羣集)。爲此,我現在使用'distcp'
。但它是永恆的。由於distcp在底層使用map-reduce,有沒有辦法使用spark來使進程更快?就像我們可以將配置單元執行引擎設置爲'TEZ'
(替換map-reduce
),我們可以設置執行引擎爲distcp
啓動嗎?還是有任何其他'spark'
方式來跨羣集複製數據,這可能甚至不打擾distcp?使用火花在hadoop羣集之間複製數據
這裏是我的第二個問題(假設我們可以將distcp
執行引擎設置爲spark來代替map-reduce,否則請不要麻煩回答這個問題): - 據我所知,Spark比map-減少的主要原因是它將數據存儲在可能需要處理的存儲器中,以便它不必從磁盤一直加載數據。在這裏,我們正在跨羣集複製數據,因此不需要多次處理一個文件(或塊或分割),因爲每個文件都會上傳到內存中,然後通過網絡發送,並複製到目標羣集磁盤,該文件的故事結束。那麼,如果不使用主要功能,Spark如何讓這個過程更快?
沒有嘗試這個,但也許你可以實際使用Hive來讀寫(創建表格作爲select)數據並在Tez或Spark上運行Hive。關於第二部分Spark的優勢不僅在於使用內存,而且還有更好的執行階段調度,所以它的順序比MR –