默认情况下,当我使用sqoop将数据导入配置单元时,它会在hdfs上创建文件名part-m-0000、part-m-0001等。是否可以重命名这些文件?如果我想给一些有意义的全名,如suffxing文件名与日期,以表明我可以怎么做呢?请建议
gdx19jrr1#
是的,我们可以!看到这里了吗
sqoop import -D mapreduce.output.basename=`date +%Y-%m-%d`
vsikbqxv2#
不能直接使用sqoop,但可以在sqoop完成导入后在hdfs中重命名它们:
today=`date +%Y-%m-%d` files=$(hadoop fs -ls /path-to-files | awk '{print $8}') for f in $files; do hadoop fs -mv $f $f$today; done
第一个命令得到今天的日期。第二个命令获取目录中的所有文件名。第三个命令重命名这些文件,并附加日期。
2条答案
按热度按时间gdx19jrr1#
是的,我们可以!看到这里了吗
vsikbqxv2#
不能直接使用sqoop,但可以在sqoop完成导入后在hdfs中重命名它们:
第一个命令得到今天的日期。第二个命令获取目录中的所有文件名。第三个命令重命名这些文件,并附加日期。