如何为Sqoop输出文件提供自定义名称

时间:2015-02-24 12:26:59

标签: hadoop output hdfs sqoop

当我使用sqoop bydefault将数据导入配置单元时,它会在HDFS上创建文件名为part-m-0000,part-m-0001等。

是否可以重命名这些文件?

如果我想提供一些有意义的名称,比如带有日期的后缀文件名,以指示加载我该怎么办?

请建议

2 个答案:

答案 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`