我使用以下命令将一些文件从目录复制到目录
hadoop distcp -Dmapreduce.job.queuename=adhoc /user/comverse/data/$CURRENT_DATE_NO_DASH_*/*rcr.gz /apps/hive/warehouse/arstel.db/fair_usage/fct_evkuzmin04/file_rcr/
Run Code Online (Sandbox Code Playgroud)
我在它完成之前停止了 scipt,剩下的很多.distcp.tmp.attempt
文件在 dst 目录中移动
现在我想清理 dst 目录。运行后
hadoop fs -rm -skipTrash /apps/hive/warehouse/arstel.db/fair_usage/fct_evkuzmin04/file_mta/*
Run Code Online (Sandbox Code Playgroud)
大多数文件都被删除了,但有些文件仍然存在(至少 HUE 是这样显示的)。奇怪的是,每次运行hadoop fs -rm -skipTrash
,根据HUE,剩余文件的数量或多或少都会发生变化。
我试过
hadoop fs -ls /apps/hive/warehouse/arstel.db/fair_usage/fct_evkuzmin04/file_mta/
Run Code Online (Sandbox Code Playgroud)
并看到一些应该删除的文件仍然存在。然后我跑
hadoop fs -rm -skipTrash /apps/hive/warehouse/arstel.db/fair_usage/fct_evkuzmin04/file_mta/*
Run Code Online (Sandbox Code Playgroud)
十几次,总是有更多的文件要删除(仍然有)。怎么了?
还
每次我以色调刷新页面时,文件数量都会增加。哈普。
编辑
似乎在命令行中停止 distcp 实际上并没有终止工作。这就是原因。
小智 6
你可以使用这个 “-R”:
这将从您的 hdfs 位置删除所有文件。
hadoop fs -rm -R -skipTrash /apps/hive/warehouse/arstel.db/fair_usage/fct_evkuzmin04/file_mta/*
Run Code Online (Sandbox Code Playgroud)
Ctrl + C
不会杀死纱线应用程序。distcp
使用MapReduce
模型复制数据。当您运行distcp
命令时,它会提交纱线应用程序以在 hadoop 上运行以复制数据。您需要终止纱线应用程序以停止distcp
复制过程。
杀死纱线应用程序的命令:
yarn application -kill <application_id>
归档时间: |
|
查看次数: |
16383 次 |
最近记录: |