1. 项目背景与核心价值
中药作为我国传统医学的重要组成部分,其数据挖掘与分析一直存在巨大潜力。这个毕业设计项目整合了大数据处理、机器学习和可视化技术,构建了一个完整的中药知识图谱与推荐系统。我在实际开发中发现,这类系统能够有效解决中药数据分散、分析维度单一的问题。
系统通过爬虫技术获取原始中药数据,利用Hadoop+Spark构建分布式处理框架,结合知识图谱技术建立药材关联网络,最终实现智能推荐和可视化分析。这种架构特别适合处理中药领域复杂的多源异构数据,我在处理药材功效与配伍关系时,这种技术组合展现了显著优势。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统架构设计解析
2.1 技术栈选型依据
选择Hadoop+Spark作为基础架构主要基于三个考量:
- 中药数据量通常达到TB级别,传统单机处理效率低下
- Spark的in-memory计算特性特别适合迭代式的机器学习算法
- Hadoop生态成熟稳定,适合毕业设计的可靠性要求
实际部署时我采用了:
- Hadoop 3.3.4(稳定版)
- Spark 3.2.1(兼容性好)
- Neo4j 4.4.9(知识图谱存储)
2.2 数据处理流程设计
完整的数据处理包含五个关键环节:
- 数据采集层:基于Scrapy框架的分布式爬虫
- 数据存储层:HDFS + HBase组合存储
- 数据处理层:Spark SQL + GraphX
- 知识图谱层:Neo4j图数据库
- 应用层:Flask后端 + ECharts前端
注意:中药数据清洗时要特别注意特殊字符处理,我在初期就遇到Unicode编码问题导致后续分析异常。
3. 核心模块实现细节
3.1 中药数据爬虫实现
爬虫系统需要采集三类关键数据:
- 药材基础信息(名称、性味、归经等)
- 方剂配伍数据
- 现代研究文献
我设计的爬虫架构包含:
python复制class MedicineSpider(scrapy.Spider):
name = "tcm_spider"
def parse(self, response):
# 解析药材详情页
item = TcmItem()
item['name'] = response.xpa
