ETL
文章平均质量分 91
吴春成-ZJU
新美大-上海(大众点评)
展开
-
流行ETL数据传输解决方案
第2.1IBMDataStage解决方案2.1.1IBMDataStage简介IBM InfoSphereDataStage是业界较为流行的ETL(Extract,Transform, Load)工具。它支持各种数据源和文件格式,可以满足大规模数据ETL需求。功能强大,可适用于多种类型的业务场景。而且比较灵活,拓展性强。DataStage的应用程序设计采用图形界面[8]原创 2016-07-06 18:59:20 · 10135 阅读 · 1 评论 -
大众点评ETL数据传输平台生产实践和测试
1.1 Kepler生产实践1.1.1Kepler生产实践调度系统Kepler自从开发使用以来。调度的任务数量从最开始的几百个到后来的一万五左右,在投入使用的几年里,调度本身还算稳定,基本没有出过较大的事故。调度系统从比较粗糙到日趋完善也经历了很多次完善。开始时,调度系统被调度起来的任务信息都会暂存到Zookeeper集群中,但随着传输平台在公司的推广、业务大规模的扩张。Zookeep原创 2016-07-08 10:49:17 · 2055 阅读 · 0 评论 -
大众点评开发前台Galaxy设计与实现
1.1.1.1.1 Galaxy模块设计传输平台的开发前台从功能上划分包括任务配置,任务管理,任务监控,代码上线等模块。整体设计见下图(图5.13):图5.13 传输平台整体设计首先介绍任务配置模块设计。具体分为两种任务配置:一种是传输任务配置设计(见图5.14、图5.15)。这种任务配置信息包括四部分:第一部分是数据源和数据目标以及一个自增字段;第二部分是任务调度信原创 2016-07-08 10:37:56 · 1393 阅读 · 0 评论 -
大众点评调度系统Kepler的设计与实现
.5.2.1.1调度系统Kepler整体设计该企业调度系统的整体实现思路:用SpringQuartz来负责定时任务这一块,用定时任务来周期性更新实例和容器的状态,即用定时任务做调度系统的引擎。用状态管理器管理实例,资源管理器控制资源,容器管理器管理容器。它们都用单例模式实现,并持有实例,容器,资源在内存中的队列。在内存和数据库同时保存实例信息,内存中原创 2016-07-07 10:38:12 · 3426 阅读 · 0 评论 -
大众点评平台ETL概念设计与实现
5.1平台ETL概念设计与实现任务是该企业ETL数据传输平台调度和运行的基本单位,任务是一次传输或一次转换。任务分为计算任务和传输任务。传输任务还可以细分:一种是普通的传输任务。数据的输入来自关系型或Nosql数据库。另一种是后端日志拉取再经过解析程序(如MapReduce等)存入分析库。计算任务主要分为三类:HiveHql任务、JavaJar包任务和Python、Shell等脚本任务。有原创 2016-07-07 10:35:35 · 2061 阅读 · 0 评论 -
ETL简介和大众点评ETL平台搭建之初
1.1.1 ETL简介和发展概述ETL是Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程[5]。ETL作为商务智能的核心和灵魂,具有重要的意义。从目标上说,能够汇聚、筛选数据从而提高数据的价值。从功能上说,能够完成数据从数据源向目标数据仓库转化的过程,从而有效构建起数据仓库。ETL从多样的异构数据源中比如关系数据库、格式化和半格式化数据文件等抽取到原始数据层后进原创 2016-07-06 22:48:03 · 5489 阅读 · 0 评论 -
大众点评ETL数据传输平台整体架构
1.1 平台整体架构该企业的数据传输平台主要由三部分构成:1) 一部分是基于Quartz和Docker的调度系统。主要功能是负责调度和运行ETL任务。监视和变换当前任务实例的状态,当实例状态发生变化或者符合变化条件时主动更新数据库和内存中实例状态。2) 一部分是数据交换工具Wormhole。主要用来多个数据库之间数据的交换,是ETL平台的基础。这个工具我们一般把它集成到Docker镜像原创 2016-07-06 22:39:31 · 5034 阅读 · 0 评论 -
大众点评ETL数据传输平台需求用例分析
1.1 功能分析1.1.1 调度系统 图 3.1 调度系统用例图调度系统负责ETL数据传输平台的运行、监控和资源分配(如图3.1)。1) 定时调度。ETL任务无论是抽取还是转换类型都必须每天在特定时间(一般是晚上)被调度起来完成当天增量数据的传输,所以一般ETL传输平台必须有定时调度的功能。2) 支持集群和并发。现在工业生产环境单机性能已经不能原创 2016-07-06 22:29:46 · 4066 阅读 · 1 评论 -
canal源码分析——整体架构分析
早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求。不过早期的数据库同步业务,主要是基于trigger的方式获取增量变更,不过从2010年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务,从此开启了一段新纪元。ps. 目前内部使用的同步,已经支持mysql5.x和oracle部分版本的日志解析 基转载 2016-07-06 22:03:13 · 11559 阅读 · 2 评论 -
canal源码分析——项目组成结构
摘要canal是阿里巴巴mysql数据库binlog的增量订阅&消费组件,在以下使用场景中都可以使用。 数据库镜像、数据库实时备份、多级索引 (卖家和买家各自分库索引)、search build、业务cache刷新、价格变化等重要业务消息 本系列文章将开始对该项目进行源码分析,本文将从高层分析canal产品的各子项目的职责及它们之间的关系。背景canal项目的介绍及源码请到转载 2016-07-06 22:08:16 · 3317 阅读 · 2 评论 -
canal源码分析——parse模块源码分析
摘要经过分析,我觉得parse模块才是canal的核心部分,而且我们内部的使用也是基于parse模块做了一些自己的扩展,因此本文系列文章从parse模块的源码开始分析,抽丝儿剥茧把canal的核心部分源码解析一下,供大家参考。 parse高层类图首先,我们来看看该模块下面的类图,通过类图就可以清晰地掌握整个模块的骨架结构。EventTransactionBuffer转载 2016-07-06 22:12:35 · 3909 阅读 · 0 评论 -
canal源码分析系列——ErosaConnection分析
摘要ErosaConnection是通用的Erosa的连接接口, 用于一般化处理mysql/oracle的解析过程。它实现了与MySQL服务器之间的网络连接及通讯,也是非常核心的一个组件,我们来看看它是怎么实现的。类结构ErosaConnection||--------------------------------------|转载 2016-07-06 22:15:38 · 1364 阅读 · 0 评论 -
canal源码分析——DirectLogFetcher源码分析
摘要DirectLogFetcher是MysqlConnection中使用的一个重要组件,使用它来从连接中读取binlog信息。我们来看看它是怎么实现的。类结构DirectLogFetcher的类结构图如下。LogBuffer|LogFetcher|DirectLogFetcherLogBuffer是一个数据库复制日志的缓存区,可将日志缓冲存储起来。转载 2016-07-06 22:18:36 · 2000 阅读 · 0 评论 -
大众点评数据交换工具Wormhole设计与实现
1.1.1 数据交换工具Wormhole设计与实现1.1.1.1 Wormhole整体设计Wormhole是框架加插件的设计,各模块的设计思路:1) 框架分为读管理器、双端缓冲队列和写管理器。读写管理器分别持有读写线程池,双端缓冲队列负责读写线程的数据交换。2) 每种数据存储的插件分为或读写两种类型,每种类型又具体分为读或写、预和后处理、分片三种类型的插件。用不同接口来标识每种原创 2016-07-08 10:16:55 · 5415 阅读 · 0 评论