- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于hadoop生态圈的数据仓库实践 —— OLAP与数据可视化(三)
三、Impala OLAP实例
本节使用前面销售订单的例子说明如何使用Impala做OLAP类型的查询,以及实际遇到的问题及解决方案。为了处理SCD和行级更新,我们前面的ETL使用了Hive ORCFile格式的表,可惜到目前为止,Impala还不支持ORCFile。用Impala查询ORCFile表时,错误信息如下图所示。
这是一个棘手的问题。如果我们再建一套和dw库中表结构一样的表,但使用Impala能够识别的文件类型,如Parquet,又会引入两个新的问题:一是CDH 5.7.0的Hive版本是1.1.0,有些数据类型不支持,如date。另一个更大的问题是增量装载数据问题。dw库的维度表和事实表都有update操作,可Impala只支持数据装载,不支持update和delete等DML操作。如果每天都做insert overwrite覆盖装载全部数据,对于大数据量来说很不现实。
尽管Impala不支持update语句,但通过使用HBase作为底层存储可是达到同样的效果。相同键值的数据被插入时,会自动覆盖原有的数据行。这样只要在每天定期ETL时,记录当天产生变化(包括修改和新增)的记录,只将这些记录插入到Impala表中,就可以实现增量数据装载。这个方案并不完美,毕竟冗余了一套数据,既浪费空间,又增加了ETL的额外工作。其实前面ETL的Hive表也可以使用HBase做底层存储而不用ORCFile文件类型,利用HBase的特性,既可以用Hive做ETL,又可以用Impala做OLAP,真正做到一套数据,多个引擎。这个方案也需要一些额外的工作,如安装HBase,配置Hive、Impala与HBase协同工作等,它最主要的问题是Impala在HBase上的查询性能并不适合OLAP场景。
如果没有累积快照事实表,可以对相对较小的维度表全量覆盖插入,而对大的事实表增量插入,这也是本实例中采用的方案。也就是说,为了保证查询性能和数据装载可行性,牺牲了对累积快照事实表的支持。希望Impala尽快支持ORCFile并能达到和Parquet同样的性能,这样就可以省却很多麻烦。
1. 建立olap库、表、视图
用下面的查询语句从MySQL的hive库生成建表文件:
[sql] view plain copy 在CODE上查看代码片派生到我的代码片
use hive;
select concat(create table , t1.tbl_name, (,group_concat(concat(t2.column_name, ,t2.type_name) order by eger_idx),) stored as parquet;) into outfile /data/hive/create_table.sql
from (select t1.tbl_id,
t1.tbl_name
from TBLS t1, DBS t2
where t1.db_id = t2. db_id
and = dw
and tbl_type VIRTUAL_VIEW
and (tbl_name like %dim or tbl_name like %fact)) t1,
(select case when v.column_name = date then date1 else v.column_name end column_name,
replace(v.type_name,date,timestamp) type_name,
eger_idx,
t.tbl_id
from COLUMNS_V2 v,
CDS c,
SDS s,
TBLS t
where v.cd_id = c.cd_id
and c.cd_id = s.cd_id
and s.sd_id = t.sd_id) t2
where t1.tbl_id = t2.tbl_id
group by t1.tbl_name;
生
您可能关注的文档
- 机械设计期末考试题探究.doc
- 机械设计课程作业探究.doc
- 机械设计实验指导书探究.docx
- 机械设计优化作业探究.doc
- 机械设计题库06_带传动探究.doc
- 机械手电气设计说明书探究.doc
- 机械手的设计探究.doc
- 机械图纸常识探究.doc
- 机械外文翻译探究.doc
- 机械微粉厂安全操作规程探究.doc
- 2025年教育机构线下校区扩建:市场需求与可行性研究及实施策略.docx
- 智能交通信号优化系统在城市交通信号灯能耗优化中的应用报告.docx
- 共享自习室2025年会员分级服务市场前景分析报告.docx
- 共享自习室2025年会员分级服务市场潜力分析与预测.docx
- 船舶设备故障数据诊断报告2025.docx
- 2025年新消费品牌爆品打造:产品创新与市场竞争力提升策略.docx
- 2025年跨境电商数码配件品牌营销传播策略分析.docx
- 共享自习室2025年会员分级服务市场细分与目标客户定位分析.docx
- 2025年智能家居软装搭配行业智能家居设备智能化市场前景报告.docx
- 新经济形态下2025产教融合型企业认定标准与培育模式创新探讨.docx
最近下载
- VEICHI伟创 AC310系列变频调速器使用手册2021.06.pdf VIP
- 隧道施工课件.ppt VIP
- 第五届国家级新区经开区高新区班组长管理技能大赛备赛试题库-下(判断题汇总).docx VIP
- DB 6108T 53-2023 煤基固废调理剂修复沙化土地技术规范.docx VIP
- DB6108_T 52-2023 煤基固废调理剂修复盐碱地技术规范.docx VIP
- 行政人事部年终工作总结.pdf VIP
- 行政人事部年终工作总结.pptx VIP
- 第五届国家级新区经开区高新区班组长管理技能大赛备赛试题库-中(多选题汇总).docx VIP
- 化工厂物资明细表.xls VIP
- 第五届国家级新区经开区高新区班组长管理技能大赛试题库(浓缩500题).docx VIP
文档评论(0)