同样是map、filter、groupby、join这些熟悉的算子,为什么做特征工程时,大家要费劲去学 Ray Data、Daft 这些新框架?答案藏在数据流动的底层逻辑里。一、范式转移:从存储中心到计算中心很多数据工程师都踩过这样的坑:用 Spark 做多模态特征工程,代码没报错,却越跑越卡——内存爆炸、GPU 利用率上不去、模型重复加载。核心痛点在于:ETL 和特征工程的数据流动逻辑完全相反,而 Spark 的设计初衷,从一开始就不是为特征工程量身定做的。ETL 典型流程(Shuffle 密集型):复制代码收起原始数据 ──► Filter ──► Join ──► GroupBy ──► Sort ──► 数仓表 Local Shuffle Shuffle Shuffle复制特征工程典型流程(Local 密集型):复制代码收起原始数据 ──► Download ──► Decode ──► Model Inference ──► 特征表 Local Local Local (GPU)复制从更宏观的视角看,这是一次范