Medical Hub Data数据中心问题
技术架构
环境搭建
aws s3
aws redshift
aws lambda
通过其它aws服务,如s3对象事件、消息机制触发该服务,在本项目中是在lambda中驱动glue作业
aws glue
- 优点是覆盖到了整个etl流程,从数据源,schema,mapping,数据流向等都有涉及
- 缺点是数据清洗和转换只实现了简单的组件,更复杂的数据处理需要在spark中完成或开发python扩展包
- glue的可扩展性很强,体现在它支持Scala,python语言,并且支持在作业运行时调用自己开发的包
Apache spark
- glue集成了spark环境
- 也支持Scala语言
aws ec2(win10)
应用部署服务器
Visual Studio 2017安装
SSMS安装
SSDT安装
bat调用ssis执行ssis包
bat集成AWS CLI调用aws s3服务
通过aws s3 cli同步本地数据到s3,进入aws生态
数据质量
- 数据同步
数据生产时点和数据load进数据库的时点不一致。业务人员看数据统计报告会出现漏数、指标不准的情况!对于etl来说,直接的策略是同步,检测源数据的更新,然后更新到目的地!当然程序的复杂度更高!现在性价比高的策略是控制etl任务的刷新间隔,譬如以天、小时启动任务。 - 标准不明确
何为正确的数据,往往业务人员也不太清楚!这就导致需求不断变化,开发不断的改逻辑,一直到能满足为业务所“用”为止。业务水平的在大多数情况下决定了数据可用性!