我是刚开始编写Shell脚本的人,我需要帮助弄清楚每天如何从Datalake中移动文件。
我有一个新文件,该文件将在每天创建的新文件夹中创建,并且该文件夹将包含csv文件。该文件夹每天将被称为“ RawMatches” +当前日期(例如RawMatches20190717)。里面只有一个csv文件。
因此,我知道如何使用dbfs cp dbfs:/mnt/l0/data/RawMatches201907117/part-....csv /user/downloads
单独移动文件,但我不知道如何创建一个Shell脚本,该脚本可以计算出日期和每天生成的唯一的CSV名称。请注意,csv名称每天都会完全不同,但是RawMatches文件夹中将只有一个csv文件。任何在正确方向上的帮助/指针将不胜感激。
更新: 所以我弄清楚了如何设置它。现在我的问题是,如果任何复制活动失败,如何设置电子邮件通知。
RawMatches="RawMatches$(date +%Y%m%d)"
dbfs cp dbfspath/$RawMatches localpath
csvfile="$(ls localpath/part*)"
cp "${csvfile}" ftppath
cp "${csvfile}" ftpath