当我使用sqoop bydefault将数据导入配置单元时,它会在HDFS上创建文件名为part-m-0000,part-m-0001等。
是否可以重命名这些文件?
如果我想提供一些有意义的名称,比如带有日期的后缀文件名,以指示加载我该怎么办?
请建议
答案 0 :(得分:1)
您不能直接使用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
第一个命令获取今天的日期。第二个命令获取目录中的所有文件名。第三个命令重命名这些文件,附加日期。
答案 1 :(得分:1)
是的,我们可以!见here
sqoop import -D mapreduce.output.basename=`date +%Y-%m-%d`