Spark 的数据预能力真的是蛮强的,是在医院这种结构复杂又数据量大的场景下,表现挺稳定。你可以把结构化的就诊记录、非结构化的检查报告,统统扔进去,跑个 RDD 转换或者用 DataFrame 清洗一下,效率还不错。
Spark 的分布式计算在多节点下跑预任务,几百万条数据压力也不大。比如用withColumn
搞字段拆分,用filter
剔除无效记录,用groupBy
做一些分组统计,整个链路下来,代码量不多,可维护性也不错。
如果你对数据预这一块还想扩展一下思路,我给你找了几个还不错的资料:
- 基于 Spark 的交互式数据预:讲得比较细,适合深入了解。
- 光谱数据预:主要是非结构化数据的技巧。
- ExtraDict 数据预词典:词典式的数据清洗,用得好省不少事。
- Weka 数据预实战:偏 GUI 操作,适合快速上手。
- Scikit-learn 数据预技术:如果你也用 Python 配 Spark,搭配起来还挺香的。
嗯,还有一点你得注意,医院数据经常带着脏数据,比如缺失值、乱码、异常字段。建议先跑个dropna()
和fillna()
看看效果,再决定是删掉还是补全。字段标准化也别忘了,比如性别字段有'M'、'F'、'男'、'女',搞统一才好算。
如果你刚开始玩 Spark,建议先搭个local[*]
环境练练手,再考虑分布式部署。数据预写熟了,后面接 ML pipeline 也就顺手多了。