基于大数据风控方向的大数据计算平台需求整理
背景
为响应国家深化金融体制改革的要求,各大金融机构都在探索服务下沉,包括信托行业在内,很多金融机构都在尝试消费金融各种场景。而信托行业在进军消费金融的路上面临的挑战会更多一些——信托行业近年来和房地产和基建等行业关系更加紧密一些,相比银行等行业,直接服务用户的经验和能力,基础数据和基础设施等都比较薄弱甚至欠缺。
本人在支持消费金融业务的过程中,就风控需求做了一些整体的设计和实施。在过程中,就大数据相关的需求做了如下的规划。
需求分解
数据存储
除了支持HDFS存储,还需要打通OSS——考虑到日志采集方案。
参考 使用Hive进行OSS数据处理的一个最佳实践 ,需要如下的feature:
CREATE EXTERNAL TABLE logoss (logcontent string) partitioned by (year string, month string, day string) stored AS textfile location 'oss://akid:[email protected]/path';
ETL
从数据源的角度来说,需要支持:
关系型
mysql
oracle
pgsql
非关系型
ftp/http
mongodb
redis
hbase
流式
kafka
MQ
从工具的角度,需要支持:
sqoop
flume
datax
计算引擎
为了支持特征工程的生产任务,需要支持批量计算与流式计算的常用计算引擎/模式,并需要支持UDF,MR等扩展能力。
除此之外,为了支持后续采购联合建模服务,需要支持较多数据探索和模型训练等方面的需求,故也需要综合考虑python、R等集成,以及mahout、keras等;
批量计算
Hive
Impala
Spark
流式计算
Spark Stream
flink
扩展定制
UDF(含UDAF,UDTF)
支持weka
支持mahout
支持vowpal_wabbit接入
(建模)数据探索需求
支持Python集成
支持R集成
R&Python 扩展库
keras
sk learn
pandas
调度
生产级的支持,对周期性调度的需求是与生俱来的。同时,由于oozie等常用开源调度引擎都是基于一张DAG对应一个调度作业的模式,而每次更改(比如加入新的数据处理节点)都需要重启作业,同时过大的DAG维护难度也更高,所以需要考虑通过某种机制打破这种局限,实现“图间依赖”调度。【TODO】
支持的作业类型
hive
spark
jar
shell
python
R
调度周期
时,日,周,月
重跑
可重跑补数据
系统变量与自定义变量
bizdate
${coord:formatTime(coord:dateOffset(coord:dateTzOffset(coord:nominalTime(), "Asia/Shanghai"), -1, 'DAY'), 'yyyyMMdd')}
图间依赖
降级实现:check机制
安全
安全性生产级平台的重要考虑,而金融行业更是如此。
统一、多账户
各服务统一账户体系
身份打通
权限管理
多服务统一权限管理
权限管理粒度至少是表级,最好能到行/列 级
数据加密
支持基于KMS的表级数据加密
透明加解密
KMS完全可控
开发-生产管理模式
开发测试环境与投产
开发-测试试跑-提交发布-发布投产
多人协作开发
界面
hive
hue
工作流/任务调度
hue-oozie
数据探索
Python
jupyter
R
RStudio(多用户)
开发调试
Yarn 日志可查
监控
任务错误监控、报警
作业超时监控、报警
系统运行日报