一、本周进展回顾
(一)时间投入
本周总学习时长 28 小时,分配如下:
大数据技术:13 小时(Kafka、Hive)
Java Web:7 小时(WebSocket 模块开发、性能优化)
Python:6 小时(Hadoop 集群监控脚本、数据清洗)
问题解决:2 小时(Kafka 消息重复消费、Hive 查询性能)
(二)学习与实践内容
大数据技术
Kafka:搭建单节点与集群环境,编写 Java 生产者 / 消费者代码,实现消息的发送与接收;配置 Flume 与 Kafka 的对接,将 Flume 采集的日志数据发送到 Kafka 主题,构建完整的日志传输管道;研究 Kafka 的分区与副本机制,理解其高可用性与消息持久化原理。
Hive:安装并配置 Hive,连接 HDFS;学习 Hive 数据类型、内部表与外部表的创建及区别,实践 HQL 语句进行数据查询、插入、删除操作;对比 HBase,明确 Hive 作为数据仓库在离线数据分析场景的优势,尝试将 HDFS 中的 CSV 数据映射为 Hive 外部表进行分析。
Java Web
基于 WebSocket 实现消息通知模块,前端页面能够实时接收并展示 Flume 采集的日志动态,包括日志级别、内容摘要等信息;对现有 Java Web 应用进行性能优化,排查并修复了几个内存泄漏点,通过调整线程池参数提升了接口响应速度。
Python
编写 Python 脚本,利用 Hadoop 提供的 API 获取集群中各节点的磁盘使用率、CPU 负载等状态信息,当检测到异常情况(如磁盘使用率超过阈值)时,通过邮件触发告警;对从 HBase 导出的用户行为数据进行清洗,去除重复、缺失值,为后续更深入的分析做准备。
二、下周计划安排
大数据方向:学习 Spark 分布式计算框架,了解其核心概念与运行原理,实践使用 Spark 进行数据处理与分析;研究 Flink 实时计算技术,对比 Spark Streaming,掌握 Flink 的部署与简单应用开发。
Java Web 与 Python:优化 Java Web 的 WebSocket 模块,增加消息过滤、历史消息存储等功能;用 Python 结合机器学习算法,对清洗后的用户行为数据进行聚类分析,挖掘用户行为模式。
三、本周遇到的问题
技术难题:Kafka 在高并发场景下出现消息重复消费现象,通过调整消费者的偏移量提交方式解决;Hive 查询大规模数据时性能较差,对查询语句进行优化(如分区过滤、列裁剪)后有所改善。
学习反思:在学习 Spark 和 Flink 等新技术时,感觉知识点较多且复杂,需要制定更细致的学习计划,逐步深入理解。