将数据从一个集群复制到另一个集群时中止hadoop distcp

3zwjbxry  于 2021-06-02  发布在  Hadoop
关注(0)|答案(3)|浏览(442)

我正在尝试将分区配置单元表的数据从一个集群复制到另一个集群。我使用distcp来复制数据,但是底层数据是分区配置单元表的数据。我使用了以下命令。

hadoop distcp -i {src} {tgt}

但是由于表是分区的,所以目录结构是根据分区表创建的。所以它显示了创建重复项和中止作业的错误。
toolscopylisting$dulicatefileexception:文件将导致重复。中止
我也用过 -skipcrccheck -update -overwrite 但都没用。
如何将表的数据从分区文件路径复制到目标?

eagi6jfj

eagi6jfj1#

尝试使用此选项-默认情况下,动态策略distcp使用uniformsize。

nzkunb0c

nzkunb0c2#

hadoop distcp-dmapreduce.map.memory.mb=20480-dmapreduce.map.java.opts=-xmx15360m-dipc.client.fallback to simple auth allowed=true-ddfs.checksum.type=crc32c-m 500 -pb-update-delete{src}{target}

6ovsh4lw

6ovsh4lw3#

检查以下设置以查看它们是否为false。将它们设置为true。

hive> set hive.mapred.supports.subdirectories;
hive.mapred.supports.subdirectories=false
hive> set mapreduce.input.fileinputformat.input.dir.recursive;
mapreduce.input.fileinputformat.input.dir.recursive=false

相关问题