我有一种情况,我必须将数据/文件从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 –