如何为sqoop输出文件指定自定义名称

sg2wtvxw  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(618)

默认情况下,当我使用sqoop将数据导入配置单元时,它会在hdfs上创建文件名part-m-0000、part-m-0001等。
是否可以重命名这些文件?
如果我想给一些有意义的全名,如suffxing文件名与日期,以表明我可以怎么做呢?
请建议

gdx19jrr

gdx19jrr1#

是的,我们可以!看到这里了吗

sqoop import -D mapreduce.output.basename=`date +%Y-%m-%d`
vsikbqxv

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

第一个命令得到今天的日期。第二个命令获取目录中的所有文件名。第三个命令重命名这些文件,并附加日期。

相关问题