当前位置:文档之家› 基于Hadoop平台的分布式ETL系统设计与实现

基于Hadoop平台的分布式ETL系统设计与实现

t r a c t — T r a n s f o r m — L o a d , E T L )过程 主要 负 责从不 同的数 的站 点标 准 而建 立 的[ o q 。因此 , 本 文基 于 Ha d o o p平 台
据源收集数据 ,按照用户定义 的业务规则和需求 , 对 设 计 了一 款 分 布 式 E T L系 统 ( 简 称 My E T L ) , 该 系 统
收集 的数据 集 进 行转 换和 清 洗 , 最后 按照 目标 数 据 仓 以 H a d o o p 作为执行平台,考虑 了数据仓库中维度与 库 的结 构加载 到 数据仓 库 中[ 2 1 。 如今 , 传统的 E T L技 术 事 实 的并行 处 理方法 。 正面 临着 信 息爆 炸 的新 挑 战 , 一 家 企业 每 天收 集 几 百
生 死 锁 。徐 艳 华 等 人 提 出的 基 于 MA S的分 布 式 值 v , m a p函数输 出的是 中间结果 的键值对 [ ( k : , v 2 ) ] E T L , 利用 A G E N T的 协 作 性 、 主动 性、 反 应 性和 交 互 列 表 , 这些 键 值对列 表 将 由 Ma p R e d u c e类库 中的分 区
并行 计 算 技 术 的使 用 是 获取 最佳 性 能和 高 扩 展 性 的 图 1 所示 。M y E T L 框架有许多组件 , 包括 E T L 程序使 关 键所 在 。近几 年 来 , 在密 集型数 据 领域 , 新颖 的云计 用 的 A P I ( A p p l i c a t i o n P r o g r a mm i n g I n t e r f a c e s ) , 序 列 对 算技术 : M a p R e d u c e[ 5 J , 已经 广 泛 用 于 并 行 计 算 。 象组件 , 元数据存储库, E T L 转换活动, 作业调度器和 Ma p R e d u c e是 Ha d o o p框 架 的 一个 通 用 编 程 模 型 , 该 H D F S 数据块分配组件 。其 中序列对象组件用于分布
[ v d, 输 出为值列表 [ v 3 ] 。
3 、 分 布式 E T L框 架设 计
本文 提 出的分布 式 E T L框 架 是基 于 H a d o o p平 台 而 设 计 的 ,即 以 Ha d o o p作 为 E T L的执 行 平 台 , H i v e
为了能够快速适应变化 的业务环境和客户需求, 作 为 临 时存 储 区 , My S Q L集 群 作 为数 据 仓 库 系 统 , 如
目前 , 对 数据 并 行 处 理 的研 究主 要 集 中于 利 用 多 构 ,用 于 处 理密 集 型数 据 的并 行 计算 范式 ,是 基 于 线 程 的思 想在 单个 C P U上 运 行 E T L任务 ,对 E T L过 H a d o o p框 架 的一 种通用 编 程模 型 。 该编程 模 型主 要是
性来构建分布式 E T L , 从而改进 了分布式的负载均衡 函数 按照 键 k : 进行 分 区 , 同一个 键 k : 的值 列表 将属
问题 。以上 方法 虽然 在 一定程 度 上提 高 了处理 数据 的 于 同一 个分 组 。另外 , r e d u c e函数 同样 需要 由用 户 编 效率 , 但 是 当分布 式处 理 上 的节 点之 间通 信 和 E T L任 写 , 该 函数 有 两个 输 入 变 量 : 中间键 k 和 中 间值 列表 务 调 度 出现 故 障 时 , 恢 复起 来 是相 当 困难 的 , 而 且 负 载 均 衡 也很 难 控 制 , 甚 至 当 节 点越 来 越 多 时 , 其 网络 开销 也 会越 大 , 而且 多 个 节 点对 同 一个 表 的处 理 产 生 并发 冲突 的概 率也 会 增加 。















基于 H a d o o p平 台的分布 式 E T L系统设计 与实现
李晨翔 , 何 刚, 孙 莉
( 东华大学 计算机科 学与技术学院 上海 2 0 1 6 2 0 )
【 摘 要】 : 为了解决传统的抽取 、 转换和加栽工具处理数据仓库 中海量数据的效率问题 , 设计并实
2 、 相关 概 念
G B的数据进行处理和分析是相当普遍的。 因此, 如此
G o o g l e提 出 的 Ma p R e d u c e t  ̄ 是 一 个用 于 处 理 和 生
巨大 的数据量将使传统 的 E T L方法极度 的消耗时间。 成 大数 据集 的编 程模 型 。它 是基 于集群 计算 的体 系 结
现 了基 于 Ha d o o p平 台的分 布式 E T L系统 。 详 细的探 讨 了渐 变维度 、 雪花 维度 、 大维度数 据和 事 实数 据
的并行处理 。 实验结果表 明, 与H i v e 数据仓库相 比, 该分布式 E T L系统在并行处理数据仓库 中海量数 据的问题上 , 具有更 高的效率和扩展性 。
【 关键词 】 : H a d o o p ; 分布式 E T L ; 维度 ; 事实; 并行处理
1 、 概 述
错, 负载均 衡 和作 业调 度 。另 外 , Ma pቤተ መጻሕፍቲ ባይዱR e d u c e也是 一个
在 数据仓库 l 1 J 领域 , 数据抽 取 、 转换和 加载 ( E x ~ 非常流行 的框架 , 本身是按照大规模密集型数据处理
程的数据流采用分割 、 并行转换和管道并行处理三个 基 于两个 可编 程 的函数 :
方 面 进行 优 化 , 从 而 解 决争 夺 C P U 资源 的冲 突 [ 3 1 。然 而, 当 数 据 量较 大 、 中 间转 换 逻 辑 复 杂和 数 据 源 多样 时, 这 种方 法 往往 很难 保 证 负载 均 衡 和进 程 之 问不 产 ma p : ( k 1 , V 1 ) _ ÷ [ ( k 2 , v 2 ) ] r e d u c e : ( k 2 , [ v 2 ] ) [ v 3 ] 用户 编 写 的 m a p函数 有两 个 输入 变 量 :键 k 和
相关主题