2015-02-24 52 views
2

當我使用sqoop bydefault將數據導入配置單元時,它將在HDFS上創建文件名作爲part-m-0000,part-m-0001等。如何爲Sqoop輸出文件提供自定義名稱

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

如果我想給一些有意義的名字,如帶有日期的文件名加上日期以表示負載,我該怎麼做?

請建議

回答

1

不能直接與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 

第一個命令獲取今天的日期。第二個命令獲取您的目錄中的所有文件名。第三個命令重命名這些文件,附加日期。

+0

嗨我會每天安排工作。每天這個腳本應該只重新命名新cretead文件不是所有的文件 – 2015-02-27 05:55:56

1

是的,我們可以!看到here

sqoop import -D mapreduce.output.basename=`date +%Y-%m-%d` 
相關問題