6
一、本周做了什么
本周Java Web学习了ServletContextListener和HttpSessionListener两个监听器。实现了一个应用启动时加载配置文件到全局上下文的监听器,以及一个统计在线用户数量的会话监听器。通过这些练习,对Java Web的三大组件(Servlet、Filter、Listener)有了比较完整的认识。
大数据方面,学习了Hive的分区表和分桶表。创建了按日期分区的日志表,查询时指定分区可以大幅提升效率。分桶表则用于数据采样和join优化。同时学习了Hive的内置函数(字符串函数、日期函数、聚合函数等)。
Python方面,学习了requests库发送HTTP请求和BeautifulSoup解析HTML。写了一个简单的爬虫,从某个技术博客网站抓取文章标题和发布时间,存为CSV文件。虽然爬虫代码不到100行,但跑通的那一刻非常有成就感。
大作业方面,对热词数据进行了更细致的分析。除了统计各类别数量外,还分析了热词出现的年份趋势和热度指数,使用pandas进行了数据处理。
软考方面,做了2020年上午题真题,得分49分,比上次进步了4分。再接再厉,重点准备下午题(算法设计和数据库设计)。
二、时间统计
总学习时间:约24小时
编写代码时间:约12小时
解决问题时间:约4小时
三、下周准备做什么
学习文件上传下载功能(Commons-FileUpload)
学习Hive的排序方式(ORDER BY、SORT BY、DISTRIBUTE BY、CLUSTER BY)
Python学习数据可视化进阶(seaborn)
大作业完成最终报告撰写
软考开始准备下午题,练习数据流图和ER图
四、本周遇到的问题
HttpSessionListener中获取ServletContext时,不能直接注入,需要通过session.getServletContext()
Hive分区表查询时必须指定分区字段,否则会扫描全表导致效率极低
BeautifulSoup解析HTML时,遇到不规范的标签会解析错误,需要换成lxml解析器
浙公网安备 33010602011771号