蓝盟IT小贴士,来喽!
SparkSQL的特征变换主要有以下种类
用于表之间的史迪奇操作的多表场景,如事务信息表帐户表的史迪奇
使用udf进行简单的特征变换,例如对时间斯坦共和国进行hour函数处理
使用时间窗和udaf进行时间序列的特征处理,如校正一个人过去一天的消费金额总和
到目前为止,SparkSQL很好地解决了离线模型的训练特征转换问题,但随着AI应用的发展,大家对模型的期待不仅得到了离线调查效果,而且在实际业务场景中发挥了价值。 实际业务场景是模型应用场景,需要高性能,需要实时推理
多表数据如何从离线映射到上线了,即在批量训练期间填充多个表,这些个表应该以什么方式存在于上线了环境中,这也会影响整个系统体系结构,从而提高效率
SQL变换的实时执行成本很高。 由于上线了推理需要高性能,因此数据科学家可以创造成千上万的特征,每一个特征都是人肉变换,导致工程成本大幅增加。
很难保持离线特征和上线了特征的一致性,手动转换会产生一致的性能,往往很难保持一致性
离线效果很好,但上线了效果不能满足业务需要。 (英文:项目名称)
在具体的防欺诈场景中,模型应用的性能要求非常高,因为模型应用要求tp99 20ms检测交易是否为欺诈
用特色工程数据库补充了SparkSQL的能力
以数据库的形式,解决了从离线表到上线了的映射问题。 我们先提出的答案是离线表是怎样分布的,上线了也是怎样分布的
在同一查询密码定径套上执行离线和上线了特征转换,保证了上线了模型的效果
数据科学家与业务发展工作团队的协作不是手动转换查询密码,而是将sql作为传递媒体,大幅提高模型的重复效率
由llvm加速的sql可以比由scala实现的spark2.x和3.x在时间上更加复杂的特征场景中加速2-3倍,并且在上线了中对内存的记忆确保了sql以非常低的延迟返回结果。
文/上海蓝盟 IT外包专家