`
weitao1026
  • 浏览: 1053588 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

HBase适合做BI分析的数据源吗?

 
阅读更多

HBase是建立Hadoop File System上的一层Key-Value Pair 存储服务器。 HBase能够支持Key-Value快速插入,修改及删除,和单个Key到Value快速查询。那么Hbase适合做BI分析的数据源吗?筛选(Filtering)和聚合(Aggregation)是BI中的基本运算,所以我们首先要知道HBase是否能支持快速的筛选和聚合运算。

MapReduce是Hadoop系统上的基本计算框架,HBase用户可以使用MapReduce来进行筛选和聚合运算。但是我们知道MapReduce的反应时间一般在几十秒或几分钟以上,这对于实时BI运算过慢。所以我们想调查一下HBase Coprocessor是否是一个更好的选择。

HBase Coprocessor是一个比MapReduce更简单的运算系统。Coprocessor相当于是在HBase Region Server上的一个存储过程 (Stored Procedure)。HBase的运算客户可以调用(通过execCoprocessor)在Region Server上的Coprocessor, 来做筛选和聚合运算。 Coprocessor运算Region Server本地进行,然后Region Server将部分结果传递给客户端,最后结果将在客户端组装完成。 下图展示了用Corprocessor做Count运算的示意图。

程序员可以编写自己的Coprocessor程序,用HBase的Scan Object来做筛选,用Java 代码来实现如Sum(), Avg()的聚合运算。

由于HBase本身的API不支持Table Join,我们可以假设所有的数据仓库的数据都存贮在一个巨型的HBase Table上。

在逻辑层面上, HBase Table相当于一个3维Map--用(Row, Column, TimeStamp),我们可以找到相应的值。在具体实现中,HBase Table的数据是按照一个一个数据单元存储的,每个数据单元除了值域以外,还有其它的域,如RowKey, Column ID,TimeStamp。这样数据单元的很大一部分空间实际上被用来存储那些Metadata. 这种存储格式对于稀疏报表十分有效,但是当报表的数据密度变大时,其存储效率就大打折扣了。而一个典型的数据仓库的数据表的数据密度往往接近于100%,这时HBase Table的存储效率要远远低于一个简单的2维报表,如一个关系型数据库报表或一个CSV报表。

我们测试表明,当数据报表较小时(200—300MB),coprocessor要稍慢于MySQL,但要快于MapReduce. 当数据报表变大时,coprocessor将会比MySQL慢的更多甚至比MapReduce还要慢。而在MapReduce里面,一样的数据,CSV和HBase Table相比,CSV要快很多。

综上所述,博主认为,HBase Table本身的存储格式并不适合典型的BI运用。

但是对于一些简单的报表应用,如Facebook Insight, HBase依然可以被用作数据源。在Facebook Insight中,每个用户有一些Count度量,如Click#,Impression #等,用户ID(作为Key)和这些Count度量都存在一张HBase Table里,Insight可以根据Web Log对于每个用户的度量做实时更新。而每个用户的度量数值亦可以被实时读取。由于这里不牵扯到更加复杂的筛选和聚合运算, HBase可以发挥很好作用。

 

分享到:
评论

相关推荐

    PowerBI VS FineBI 对比分析文档

    FineBI 对企业数据平台的对接能力更强,支持多种数据源连接,包括 Kylin、Derby、Gbase、ADS、Hbase、Mongodb 等,而 PowerBI 不支持这些数据源的连接。同时,FineBI 也支持 kerberos 认证连接方式,而 PowerBI 不...

    EMC Greenplum bi 数据仓库

    EMC Greenplum BI数据仓库及其统一分析平台,结合Apache Hadoop的强大功能,为企业提供了完整的数据分析解决方案。无论是在数据源的爆发式增长,还是在大数据分析的需求方面,EMC Greenplum都能提供卓越的支持,帮助...

    FineBI部分题库及答案.docx

    23. **Hbase连接**:FineBI支持连接Hbase数据库,扩展了数据源支持。 24. **面积图属性**:面积图不支持大小属性,可能限制了其视觉表达的多样性。 25. **图表属性绑定**:FineBI图表的多个属性支持绑定多个字段,...

    第4章-分布式数据库HBase.pdf

    编程实践则涉及到HBase的API使用,如Java API操作HBase数据,以及如何在MapReduce任务中使用HBase作为数据源或输出目的地等。这些都是利用HBase进行大数据处理时需要掌握的关键技能。 通过以上知识点的详细阐述,...

    2022年大数据BI平台建设方案完整版.pptx

    该平台支持多种数据源的集成,包括结构化数据和非结构化数据,并提供了数据清洗、数据预处理、数据分析、数据挖掘、数据可视化等功能。同时,该平台还支持数据报表、商业智能、数据分析模型等应用。 大数据BI平台...

    BI产品梳理

    - **多数据源支持**:兼容Hadoop HDFS、HBase等多种数据存储。 **优点**: - 极高的查询速度。 - 支持大规模数据集。 - 易于集成到现有大数据生态系统。 **缺点**: - 需要较多资源用于预计算。 - 对于...

    大数据商务智能BI平台技术方案及案例解析.zip

    对于数据存储,HBase、Cassandra等NoSQL数据库可处理半结构化和非结构化数据,而Hadoop的列式存储格式如Parquet和ORC适合于分析。同时,关系型数据库如MySQL或PostgreSQL仍用于存储事务性数据,以支持联机事务处理...

    apache-phoenix-4.14.0-HBase-1.2-src.tar.gz

    5. **连接器支持**:Phoenix提供了多种连接器,包括JDBC驱动,使得任何支持JDBC的应用程序(如Java、Python、BI工具等)都可以轻松地连接到Phoenix和HBase。 6. **版本兼容性**:"HBase-1.2"表示这个版本的Phoenix...

    BI Kettle文档汇集

    3. **数据源与数据目标**:Kettle支持多种数据源,包括关系型数据库、文件系统、Web服务等,同时也支持多种数据目标,如Hadoop HDFS、Amazon S3、数据库等,实现跨平台的数据集成。 4. **步骤与连接器**:Kettle中...

    大数据BI平台建设方案.zip

    1. 数据源接入:大数据平台首先需要连接多种类型的数据源,包括结构化数据(如数据库)、半结构化数据(如日志文件)和非结构化数据(如文本、图片、视频)。这通常涉及到ETL(提取、转换、加载)过程,确保数据的...

    大数据开发实战案例:构建高效数据分析平台.zip

    在大数据领域,构建高效的数据分析平台是至关重要的。这样的平台能够帮助企业从海量数据中提取...通过合理地整合数据源、处理数据、存储数据、分析数据并进行可视化展示,企业可以充分利用大数据的潜力,驱动业务发展。

    离线大数据分析实践

    1. 数据采集:从各种数据源(如日志、数据库、传感器等)收集原始数据。 2. 数据预处理:清洗数据,处理缺失值、异常值,进行数据转换和标准化。 3. 数据存储:将预处理后的数据存储在适合大数据处理的分布式系统中...

    --大数据分析可视化平台建设方案 大数据分析综合服务平台建设方案.docx

    1. 技术选型:选择适合大数据处理的框架,如Hadoop、Spark,以及数据仓库工具如Hive、HBase,同时结合BI工具如Tableau或Power BI进行数据可视化。 2. 安全性:实施严格的数据访问控制和加密策略,防止数据泄露,并...

    大数据分析技术架构解决方案.pptx

    此外,产品支持多种数据源,包括关系型数据库、列式数据库和非结构化数据,并提供了丰富的建模方法和API接口,如JDBC、Web Services和Restful API,便于用户自定义和扩展功能。 在典型行业应用案例中,大数据技术被...

    2022 毕业设计,基于 Hadoop 的游戏数据分析系统.zip

    【标题】中的“2022毕业设计,基于Hadoop的游戏数据分析系统”表明这是一个针对大数据处理的项目,主要使用了Apache Hadoop这一开源框架来分析游戏数据。在毕业设计中,通常会涵盖从数据采集、存储、处理到结果展示...

    数据整合处理的工具,apache-drill

    4. **多数据源支持**:除了HDFS,Drill还支持多种数据源,包括Amazon S3、Google Cloud Storage、Cassandra、MongoDB、HBase等,实现跨数据源的统一查询。 5. **插件架构**:Drill采用插件架构,允许添加新的数据源...

    使用hadoop进行数据分析教程说明,流程特点文档

    - **定义**:这是整个数据分析流程的第一步,主要目的是从不同的数据源收集数据。这些数据源可以非常多样化,既包括传统的结构化数据来源(如关系型数据库中的表格数据),也包括半结构化数据(例如Web服务器的日志...

    kylin 大数据分析平台

    Kylin支持与多种数据源集成,包括HBase、HDFS和Kafka等,同时也与多种 BI 工具(如Tableau、Excel、JasperSoft等)无缝对接,提供丰富的API供开发人员使用。 在Spark集成方面,Kylin利用Spark的并行计算能力,提升...

Global site tag (gtag.js) - Google Analytics