docs: 李涛提交第六周周总结

pull/32/head
litao 6 months ago
parent 6e0991dbaf
commit 8f68017aa8

@ -0,0 +1,56 @@
# 李涛第六周个人学习总结
## 学习目标达成情况
- 深入理解Flume核心概念Agent、Source、Channel、Sink及架构原理明晰各组件协同逻辑
- 熟练掌握Flume配置文件编写规范能独立完成不同场景下的数据采集流程设计与实现
- 系统掌握FastAPI基础使用方法及核心功能包括路由设计、参数处理、异步接口等
- 成功完成Flume与FastAPI综合应用实践构建从数据采集到接口查询的完整业务链路
## 每日学习总结
### 周一
- 学习Flume基础概念明确Agent作为独立运行单元的角色掌握Source数据输入源、Channel数据缓冲区、Sink数据输出端的功能定位
- 理解Flume工作原理梳理"Source→Channel→Sink"的数据传输流程及各环节交互机制
- 搭建FastAPI开发环境配置Python 3.9+环境安装FastAPI、Uvicorn等依赖熟悉项目基础结构主程序入口、路由模块
### 周二
- 深入Flume Source掌握Exec Source实时命令采集、Spooling Directory Source目录监控的配置参数与适用场景
- 实践Flume配置编写配置文件完成简单数据采集案例验证配置有效性
- 学习FastAPI路由通过`@app.get()`、`@app.post()`装饰器定义路由掌握GET、POST等HTTP方法使用
### 周三
- 学习Flume Channel对比Memory Channel高性能、低可靠与File Channel高可靠、低性能的特性及适用场景
- 掌握Flume Sink配置实现HDFS Sink数据写入HDFS、Kafka Sink数据发送至Kafka的配置与使用
- 实践FastAPI参数处理熟练使用路径参数`/resource/{id}`)、查询参数(`/list?page=1`通过Pydantic定义数据模型
### 周四
- 深入Flume高级特性学习拦截器Timestamp Interceptor、Host Interceptor的数据增强功能理解通道选择器Replicating、Multiplexing的分流逻辑
- 掌握Flume事务机制理解Put事务Source到Channel和Take事务Channel到Sink的可靠性保障原理
- 学习FastAPI进阶功能实现数据验证、自定义异常处理`HTTPException`),定制响应模型
### 周五
- 学习Flume集群部署与监控掌握多节点集群配置方法通过Avro组件实现跨节点数据传输使用监控工具跟踪运行指标
- 实践Flume集成完成与Hadoop、Kafka等组件的集成案例验证端到端数据传输可靠性
- 掌握FastAPI高级功能学习依赖注入`Depends`、异步接口开发熟练使用Swagger文档`/docs`)调试接口
### 周末
- 综合项目实践使用Flume采集日志数据通过FastAPI开发数据查询接口实现完整业务链路
- 总结学习内容梳理Flume配置与FastAPI开发中的问题及解决方案
- 规划下周学习明确Flume性能调优、FastAPI与数据库集成等深化方向
## 遇到的问题与解决方案
- Flume配置文件参数冲突通过`flume-ng configtest`命令校验配置,结合官方文档核对参数依赖关系,解决组件不兼容问题
- FastAPI数据模型校验失败细化Pydantic模型字段约束如`max_length`、`regex`),添加自定义验证器,优化参数提示
- Flume与Kafka集成数据积压调整Flume`batchSize`与Kafka`linger.ms`参数,匹配批处理效率,解决缓冲区堆积问题
## 学习资源使用情况
- Flume官方文档核心参考资料解决集群配置、事务机制等关键概念理解难点
- 《Flume实战》提供生产环境配置案例与性能优化思路提升实践深度
- FastAPI官方文档通过示例代码掌握路由设计、异步处理等核心功能是接口开发主要依据
- FastAPI中文教程与GitHub项目辅助理解中文语境技术细节参考实战项目优化代码结构
## 成果总结
- 产出6套Flume实用配置模板含不同Source/Channel/Sink组合覆盖日志采集、跨组件传输等场景
- 开发包含10个接口的FastAPI服务实现参数校验、异常处理与异步响应功能
- 完成"日志采集-接口查询"综合项目,形成可复用技术方案与部署文档
- 整理《Flume与FastAPI学习手册》涵盖核心知识点、配置示例及问题排查指南
Loading…
Cancel
Save