《Talkingdata:为数据赋能-敏捷高效的数据处理(29页).pdf》由会员分享,可在线阅读,更多相关《Talkingdata:为数据赋能-敏捷高效的数据处理(29页).pdf(29页珍藏版)》请在三个皮匠报告上搜索。
1、为数据赋能 敏捷高效的数据处理 徐岷峰 TalkingData 资深架构师 数据处理 Data Wrangling ETL:从多种数据源提取数据,做清理、聚合、派生,加载到特定存储 ELT:利用存储的计算能力做数据变换 数据处理的流程 Data Wrangling Data Wrangling TalkingData 遇到的问题 需求 理解不一致/不清晰 沟通成本高 开发 技术栈纷杂 功能重复开发 预计算 缺乏统一的标准与服务 即席查询 多种异构数据 元数据系统 Meta Data System Meta Data System 元数据是定义数据的数据 是实现系统复用的关键 可以直接作为系统的
2、外部接口 元数据驱动 元数据是实现敏捷的关键 元数据是对业务的高度抽象 某种程度上确定了系统的数据边界 Meta-Meta Data Meta Model Meta Data Data Data set Specification Data set Data set Definition 数据源(Data Source) 分区定义(Partition) 数据集(Data Set) 模式(Schema) 数据处理过程(Recipe) 算子(Operator) 元数据规范(meta model) 多维模型(Multi-Dimension) 实体关系模型(ER) 模型(model) Meta Dat
3、a System 实现 Meta Data System JSON 对象 MySql SQLite/Derby 存储 索引ES 检索 MQ 通知 Service Process 部署 数据变换 Data Transform 没有银弹 Data Transform 数据处理的核心 机器学习的基础 (特征工程) 不深奥的技术 却最耗费人力 尤其是维护工作 纷繁的ETL工具: PDI(Kettle) Talend Data Integration Oracle Data Integration DataX 适合的才是最好的 共同的思路: 语义抽象 (Session/JOB/Operator,DAG)
4、 元数据驱动(数据源、目的地、 数据结构、依赖、过程) 执行引擎 数据质量监测 流程监测 数据安全与审计 Data Transform BPMN JSON DAG Sequence condition Operator Function Parameter returnAS Parallelism TalkingData 的解决方案 语义抽象 Data Transform 逻辑计划(DAG) 配置文件 算子库,多种语言实现 通用特性 日志 审计 计量 安全 运行时文件,Jar,.R,.so,.py TalkingData 的解决方案 编译器 Operator Libraries Common
5、Aspect compilerRun Time Files Execute Plan Config Plan DAG Java Python R C/C+ Spark Flink Strom H2O.ai Scikit-Learn 索引服务 Index Service 索引服务 Index Service B+树、跳表、倒排 索引,是数据查找和定位的关键 Bitmap 精准的排重统计 集合运算,Intersect, Union, Except 索引,也是一种数据,可以运算 生成索引 检索 运算 维护 索引服务 Index Service 举个例子: 定义Offset为UserId 时间粒度为天
6、, 索引1(蓝色)代表玩“吃鸡”游戏的用户 索引2(黄色)代表玩“王者”游戏的用户 Bitmap 统计: 今天玩了“吃鸡”或“王者”的用户 今天既玩了“吃鸡”又玩了“王者”的用户 今天玩了“吃鸡”但没玩“王者”的用户 Index Service 索引生成 可适配多种执行引擎,Storm,Flink, Spark 索引存储 支持异构存储 索引查询 查询能力可扩展 支持实时数据查询与运算 元数据驱动 Zookeeper同步状态 架构 SchedulerMetaData Broker ZooKeeper Worker Manager Real Time Cache Execute Engine Ca