【学习任务】项目任务-定时下载HDFS中的日志文件
我要参与
【学习任务】项目任务-定时下载HDFS中的日志文件
学习任务 2.2k
等1人参与
来源: 第4周 / 大数据工程师

题目描述:
定时将HDFS指定目录下的多个日志文件下载到Linux本地磁盘中,并且合并为一个文件。

1:假设HDFS上有一个目录 hdfs://bigdata01:9000/d2/20210101,此目录中会有多个日志文件

​```
[root@bigdata01 ~]# hdfs dfs -ls hdfs://bigdata01:9000/d2/20210101
-rw-r--r--   2 root supergroup       1361 2021-01-01 00:01 /user_00.log
-rw-r--r--   2 root supergroup       1361 2021-01-01 01:01 /user_01.log
-rw-r--r--   2 root supergroup       1361 2021-01-01 02:01 /user_02.log
省略....
-rw-r--r--   2 root supergroup       1361 2021-01-01 23:01 /user_23.log

​```
注意:默认情况下每天会产生一个新的日期目录,每小时产生1个日志文件,所以一天会产生24个日志文件

2:定时任务可以将前一天日期目录中的日志数据最终合并输出到本地的一个日志文件中

效果:

最终会在Linux本地产生类似这样的文件

​```
[root@bigdata01 ~]# ls /data/d2/20210101
-rw-------. 1 root root 9999 Jan 02 01:00 user.log
​```

任务要求:

1:开发脚本实现此需求,需要兼容脚本重跑补数据的情况

2:脚本支持crontab定时调度,每天读取前一天HDFS中指定日期目录中的数据

3:脚本每天凌晨1点执行,将HDFS中昨天的数据下载到Linux本地


任务提示、思路分析:

1:参考课程中定时上传数据至HDFS的实战内容

2:合并文件的时候可以考虑使用追加重定向功能 >>

去发布

登录后即可发布作业,立即

我的作业

全部作业

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师