hadoop复制或移动

w51jfk4q  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(325)

我需要从hdfs中复制/移动到同一hdfs中的另一个位置,但目标目录与源目录不同。
例子:
资料来源:
/仓库/elephant/f琰u事务琰u报告/date=2012-12-01/9182837475琰u报告琰u 2012-12-01琰u已处理.csv.gz
/仓库/elephant/f琰u事务琰u报告/date=2012-12-02/9182837475琰u报告琰u 2012-12-02琰u已处理.csv.gz
/仓库/elephant/f\u事务\u报告/date=2012-12-03/9182837475 \u报告\u 2012-12-03 \u已处理.csv.gz。。。
目的地:
/warehouse/elephant/f峄u transactional峄u events/date=2012-12-01/9182837475峄u report峄u 2012-12-01峄u processed.csv.gz/warehouse/elephant/f峄u transactional峄u events/date=2012-12-02/9182837475峄u report峄u 2012-12-02峄u processed.csv.gz/warehouse/elephant/f峄u transactional。。。
一个新的需求导致源中的名称从f\u transactions\u report更改为f\u transactional\u events。数据停止在前者中填充,但在后者中继续。现在的问题是将旧的(源)回填到切换。如何在保持文件结构的同时做到这一点?

mgdq6dx1

mgdq6dx11#

找到了解决我自己问题的办法!
1hadoop按目录获取所有日期并保存在本地。例如
hadoop fs-get/warehouse/elephant/f\u transactions\u report/date=2012-12*~/elephant
2hadoop将所有本地保存的目录放回新的目标。例如。
hadoop fs-put~/elephant/warehouse/elephant/f\u事务\u事件/
目录结构将保持不变。检查有效性!

相关问题