前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >hive是一个数据仓库基础架构_数据仓库ods层和dw层的区别

hive是一个数据仓库基础架构_数据仓库ods层和dw层的区别

作者头像
全栈程序员站长
发布2022-11-10 13:43:17
5080
发布2022-11-10 13:43:17
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

  • 软件环境

Hadoop 2.6.0-cdh5.9.0 Hive 1.1.0-cdh5.9.0 Zookeeper 3.4.5-cdh5.9.0

  • 需求背景

数据来源是将8台服务器日志各自压缩成*.gz(8个gz文件)后,按天和小时分区传入到HDFS上,然后通过创建Hive ODS外部表加载到表对应分区,这样一天下来会生产192个gz文件,gz文件是不能进行切分所以查询一天则会产生192个Map数,导致后结数据处理性能与资源占用都比较大。需要进行优化>如下几点:

  1. 存储后数据可切分
  2. 数据存储压缩率高
  3. 数据加载速度要快
  • 技术方案
  1. 通过创建TTexfFile存储格式ODS临时表外部表,将HDFS上的文件目录映射到外部表
代码语言:javascript
复制
create table temp.TempTableName(
 col1 string comment 'col1'
,col2 string comment 'col2' 
) partitioned by (p_dt string, p_hours string)
row format serde 'org.openx.data.jsonserde.JsonSerDe'
with serdeproperties ("ignore.malformed.json"="true")
stored as textfile
;

Alter table temp.TempTableName add partition (p_dt='20141101',p_hours='00') location '/ods/TempTableName/20141101/00';
  1. 在ODS层创建ORC存储格式相应的表,将临时外部表数据插入到ODS表
代码语言:javascript
复制
create table ods.TableName(
 col1 string comment 'col1'
,col2 string comment 'col2' 
) partitioned by (p_dt string, p_hours string)
stored as orc
;
insert overwrite table TableName partition(p_dt='20141101',p_hours='00')
select * from TempTableName where p_dt='20141101' and p_hours='00'
  1. 数据导入完闭,后续基本ODS进行操作即可

ss

  • 方案优点
  1. 数据可分割
  2. 数据压缩率90%左右
  • 方案缺点
  1. 性能比以前慢(如是ODS只操作一次建议不采用此方案)
  2. 维护成本提高
  • 文章参考 https://cwiki.apache.org/confluence/display/Hive/CompressedStorage

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/188948.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月27日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档