暑假周总结4

本周是大作业从“大数据处理”向“Web 应用展示”过渡的一周。主要完成了 Sqoop 基本使用、Hive 分析结果导入 MySQL,以及 JavaWeb 后端项目的初步搭建。经过前几周的数据采集、MapReduce 清洗和 Hive 分析后,数据处理流程已经基本完成,现在开始考虑如何把分析结果提供给网页进行展示。

首先学习了 Sqoop。Sqoop 主要用于 Hadoop 生态和关系型数据库之间进行数据交换。本次项目中需要把 Hive 分析得到的数据导出到 MySQL,因此我重点学习了 sqoop export 的使用。刚开始对参数比较陌生,例如数据库连接地址、用户名、密码、目标表、HDFS 数据目录、字段分隔符等都需要正确配置。

第一次执行导出时并没有成功,其中一个问题是 MySQL Connector 驱动没有正确放到 Sqoop 对应目录,另外一个问题是 MySQL 表结构与导出数据字段不完全对应。后来根据错误日志逐项检查,重新创建目标表,并保证字段顺序和类型一致之后,终于成功把 Hive 分析结果导入 MySQL。

完成数据导出后,我开始搭建 JavaWeb 后端。考虑到后端就业路线中 Spring Boot 也是必须学习的重要内容,所以这次没有只使用传统 Servlet,而是尝试使用 Spring Boot 搭建后端服务。项目暂时按照 Controller、Service、Mapper 和 Entity 进行分层,通过 MyBatis 访问 MySQL。

目前已经实现了几个比较简单的接口,例如查询分类统计结果、查询不同时间段的数据数量、查询热度较高的数据等。前端调用这些接口后可以获得 JSON 数据。虽然接口数量暂时不多,但已经完成从 Hive → Sqoop → MySQL → Java 后端这一条链路。

本周花在学习上的时间约 24 小时。其中 Sqoop 学习和测试约 5 小时,数据库表设计和 MySQL 操作约 4 小时,Spring Boot 和 MyBatis 学习约 6 小时,JavaWeb 后端编码约 6 小时,排查数据库连接、字段映射等问题约 3 小时。

本周遇到比较典型的问题是 MyBatis 查询结果与 Java 实体类字段无法正确对应。经过检查发现数据库使用下划线命名,例如 hot_word,Java 属性使用驼峰形式 hotWord。后来通过配置驼峰命名映射以及调整 SQL 别名解决了这个问题。另外在接口返回数据时,也遇到过前端跨域访问的问题,目前通过增加跨域配置解决。

Redis 学习方面,本周开始真正尝试在 Spring Boot 项目中连接 Redis,学习了 RedisTemplate 的基本使用。我设想以后可以把热词排行榜放入 Redis ZSet 中,这样前端查询热词排行榜时不一定每次都访问 MySQL。

后端就业学习方面,本周重点学习了 Spring IOC 和 AOP 的基本原理,以及 Controller、Service、DAO 分层的意义。通过自己写项目,比单纯看课程更容易理解这些概念。

下周计划开始完成 ECharts 数据可视化,至少实现柱状图、折线图和词云的基本展示。另外正式开始第二部分“信息化领域热词分类分析及解释”项目,把前面北京市政信件案例中学到的数据处理流程迁移到自己的工程中。

posted @ 2026-08-28 16:12  时酒  阅读(4)  评论(0)    收藏  举报