当我们做离线处理的时候,一般凌晨00:30分开始计算前一天数据,而且这些离线数据一定是根据日期来定文件名的,为了不在代码中把文件写死,我们可以这样做:
我的文件存在hdfs上,文件命名为/data/clickLog/2020/02/14,这里采集的是前一天的数据
public static String yesterday(){
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -1);
String yesterday = new SimpleDateFormat("yyyy/MM/dd").format(cal.getTime());
String date = "hdfs://hdp-1:9000/data/clickLog/" + yesterday;
return date;
}
运行结果:
public static void main(String[] args) {
System.out.println(yesterday());
}
当我们用sparksql进行业务处理时
读取文件就不用写死