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

Hadoop 如何为Sqoop输出文件指定自定义名称,hadoop,output,hdfs,sqoop,Hadoop,Output,Hdfs,Sqoop,默认情况下,当我使用sqoop将数据导入到配置单元时,它会在HDFS上创建文件名part-m-0000、part-m-0001等 可以重命名这些文件吗 如果我想给出一些有意义的全名,比如用文件名加上日期来表示加载,我该怎么做 请建议您不能直接使用sqoop,但可以在sqoop完成导入后在HDFS中重命名它们: today=`date +%Y-%m-%d` files=$(hadoop fs -ls /path-to-files | awk '{print $8}') for f in $fil

默认情况下,当我使用sqoop将数据导入到配置单元时,它会在HDFS上创建文件名part-m-0000、part-m-0001等

可以重命名这些文件吗

如果我想给出一些有意义的全名,比如用文件名加上日期来表示加载,我该怎么做


请建议

您不能直接使用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
第一个命令获取今天的日期。第二个命令获取目录中的所有文件名。第三个命令重命名这些文件,并附加日期

是的,我们可以!看


您好,我将有每日计划的工作。每天这个脚本应该只重命名新的cretead文件,而不是所有的文件
sqoop import -D mapreduce.output.basename=`date +%Y-%m-%d`