EDW on Hadoop(Hadoop上的数据仓库)技术选型和实践思考

在这篇文章中, 将讨论EDW on Hadoop 有哪些备选方案, 以及我个人的倾向性, 最后是建构方法.  欢迎转载, 但必须注明原贴(刘忠武,  http://www.cnblogs.com/harrychinese/p/edw_on_hadoop.html).

数据仓库发展已经有二十多年了, 我们先看看数据仓库发展的趋势:

在数据规模小的时候, 采用单节点RDBMS作为存储和执行引擎, 比如Oracle/PostgreSQL/MySQL都行;

当数据规模大了后, 或者时间窗口很紧时, 多采用MPP的解决方案, 比如Teradata/Exedata, 这些MPP多是一体机, 实施成本比较高, 满配后如要做扩容, 哪怕是很小的扩容, 都需投入大量资金, 显得非常不划算. 现在有的互联网企业的数据量非常之大, 即使是采用顶配的一体机, 往往也撑不住.

最近几年, SQL on Hadoop技术发展很快, 尤其是Hive被大量采用之后, 开源社区和商业数据仓库厂商都意识到EDW on Hadoop是未来的方向. 下图是一些现在比较活跃的方案,

在开源方案中, 我比较看好Impala和Spark SQL, 尤其是Spark SQL.  原因有:

1.使用Spark SQL建构EDW相对容易些: 数据仓库项目中, ETL是非常重要的一环, Spark作为一个高效的计算框架, 借助RDD算子或者SQL写法很胜任ETL的Transform, Extract可以借助Sqoop.

2. Spark SQL性能不错: 在最近1.3版Spark SQL性能已经很不错.

3. Spark, one stack to rule them all:  对于企业而言, spark会给你更多, 将来MLlib应该能替代SAS. 对于开发者而言, 只需要学一门, 就能做好哥哥方面的事情.

4. 社区活跃, 版本迭代快(版本这事, 是优点也是缺点)

Spark SQL数据仓库架构设计

两张架构图, 第一张是展现EDW的位置, Input有哪些, Output有哪些. Input展现的已经很明显了, 对于EDW输出, 目前传统的BI工具还不支持Spark SQL, 所以我们设计一个外部RDBMS数据集市, Spark数据仓库负责喂数据到该数据集市, BI工具直接访问这个数据集市.

和传统的数据仓库一样, 为了治理需要, 也需要对于Spark EDW分层, 一般三层就足够了.

另外, 我们可考虑设计一个active archive区,  专门归档OLTP数据.

ETL设计思想

每个EDW, ETL工作量都很大, 而且直接影响EDW使用效果.

从大的设计架构看, 推荐采用ELT, 而不是ETL模式. 为什么? 传统ETL最大的好处是, 可以减轻EDW的压力. 对于Hadoop基础上的数据仓库, 但采用ETL的这个好处, 就不明显了, EDW压力可以通过横向扩展, 很容易解决.

对于Extract, 可用Sqoop完成卸载, 推荐采用Parquet格式, 这样Spark SQL可以直接mount这些数据, 也就完整了Load.

Transform在Spark上完成, Spark编程接口非常丰富, 支持Scala/Python/Java编程语言.

至于到底采用哪种开发语言, 我的看法是, 优先采用Python, 只有当Python版的API缺失时或者有bug时, 才考虑Scala, Java与Python/Scala相比, 没什么优势, 一般不使用.  在Spark 1.3版中, Python 的dataFrame缺少Jdbc load和createJdbcTable 编程接口.

简单总结一下

Spark数据仓库的能承担的作用有:

1. 产生BI报表数据

2. 做数据挖掘

3. 作为Active archive

另外, 还能节省不少开销: 省掉了一体机, 省掉了ETL工具, 省掉了SAS分析软件, 省掉高端的存储.

时间: 2024-10-26 06:22:29

EDW on Hadoop(Hadoop上的数据仓库)技术选型和实践思考的相关文章

Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别

z摘自:http://www.linuxidc.com/Linux/2014-03/98978.htm hadoop生态圈 Pig 一种操作hadoop的轻量级脚本语言,最初又雅虎公司推出,不过现在正在走下坡路了.当初雅虎自己慢慢退出pig的维护之后将它开源贡献到开源社区由所有爱好者来维护.不过现在还是有些公司在用,不过我认为与其使用pig不如使用hive.:) Pig是一种数据流语言,用来快速轻松的处理巨大的数据. Pig包含两个部分:Pig Interface,Pig Latin. Pig可

缓存技术使用的实践思考分析

按照现在流行的互联网分层架构模型,最简单的架构当属Web响应层+DB存储层的架构.从最开始的单机混合部署Web和DB,到后来将二者拆分到不同物理机以避免共享机器硬件带来的性能瓶颈,再随着流量的增长,Web应用变为集群部署模式,而DB则衍生出主从机来保证高可用,同时便于实现读写分离.这一连串系统架构的升级,本质上是为了追求更高的性能,达到更低的延时. 缘起:为何使用缓存 在应用对外提供服务时,其稳定性受到诸多因素影响,其中比较重要的有CPU.内存.IO(磁盘IO.网络IO)等,这些硬件资源十分宝贵

JavaEE 技术选型建议,服务器配置,部署策略

基础设施环境 # 整体采用 centos6.5 + nginx + tomcat7.0 负载均衡:nginx 配置,使用 nginx 作为负载均衡,权重配置, 在web层做到水平扩展. 以及配置日志格式,支持db.cache调用次数,响应时间,做全站的监控. 支持对应参数的配置,方便日后做大数据营销的规划,对应的hive表,做分析使用 web层:采用一主一备. 建议内存16G,cpu 8 core,硬盘其它特殊要求,优化tomcat的jvm参数项. db层 :数据部署建议采用一主一备,建议内存1

Hadoop系列之Hive(数据仓库)安装配置

Hadoop系列之Hive(数据仓库)安装配置1.在NameNode安装  cd /root/soft  tar zxvf apache-hive-0.13.1-bin.tar.gz   mv apache-hive-0.13.1-bin /usr/local/hadoop/hive2. 配置环境变量(每个节点都需要增加) 打开/etc/profile #添加以下内容: export HIVE_HOME=/usr/local/hadoop/hive export PATH=$HIVE_HOME/

Nikita Ivanov谈GridGain的Hadoop内存片内加速技术

GridGain最近在2014年的Spark峰会上发布了Hadoop内存片内加速技术,可以为Hadoop应用带来内存片内计算的相关收益. 该技术包括两个单元:和Hadoop HDFS兼容的内存片内文件系统,以及为内存片内处理而优化的MapReduce实现.这两个单元对基于磁盘的HDFS和传统的MapReduce进行了扩展,为大数据处理情况提供了更好的性能. 内存片内加速技术消除了在传统Hadoop架构模型中与作业追踪者(job tracker).任务追踪者(task tracker)相关的系统开

Hadoop学习系列(2.Hadoop框架介绍与搜索技术体系介绍)

第一天 2.Hadoop框架介绍与搜索技术体系介绍 1. 大数据典型特性与分布式开发难点 2. Hadoop框架介绍与搜索技术体系介绍 3. Hadoop版本与特性介绍 4. Hadoop核心模块之HDFS分布式文件系统架构介绍 5. Hadoop核心模块之Yarn操作系统架构介绍 6. Linux安全禁用设置与JDK安装讲解 7. Hadoop伪分布式环境部署HDFS部分 8. Hadoop伪分布式环境部署Yarn和MR部分 9. Hadoop环境使用常见的错误集合 10. Hadoop环境常

[hadoop]hadoop权威指南例第二版3-1、3-2

hadoop版本1.2.1 jdk1.7.0 例3-1.通过URLStreamHandler实例以标准输出方式显示Hadoop文件系统的文件 hadoop fs -mkdir input 在本地创建两个文件file1,file2,file1的内容为hello world,file2内容为hello Hadoop,然后上传到input,具体方法如Hadoop集群(第6期)_WordCount运行详解中 2.1.准备工作可以看到. 完整代码如下: 1 import org.apache.hadoop

Hadoop - Hadoop伪分布式搭建

进行Hadoop伪分布式搭建时,需要有一定的Linux命令基础, 因为Hadoop是搭建在Linux环境上的开源框架, Hadoop的框架最核心的设计就是:HDFS和MapReduce. 本文也主要讲述HDFS和MapReduce环境的搭建. 搭建环境: 虚拟机: VMware10 操作系统:CentOS-6.5 JDK版本:jdk-8u171-linux-x64 Hadoop版本:hadoop-2.7.3 使用工具:Xshell 6,Xftp 6,Notepad++ 虚拟机ip地址:192.1

关于做好成都2014年12月上全国专业技术人员计算机应用能力考试的安排

关于做好2014年12月上全国专业技术人员计算机应用能力 考试考务工作有关问题的通知 各区(市)县人力资源与社会保障局.市级各部门,中央驻蓉单位.各大院(校)人事处(科): 现将成都市2014年12月(上)专业技术人员计算机应用能力考试考务工作有关事项通知如下: 一.报名日期 报名日期:2014年11月15日至2014年12月5日. 缴费截止日期:2014年12月5日. 网上准考证打印日期:2014年12月10日至12月12日(逾期未打印者,视为自动放弃). 考试开始日期:2014年12月13日