Hive数据仓库ODS层数据存储设计
2017-12-01 17:11
676 查看
软件环境
Hadoop 2.6.0-cdh5.9.0
Hive 1.1.0-cdh5.9.0
Zookeeper 3.4.5-cdh5.9.0
需求背景
存储后数据可切分
数据存储压缩率高
数据加载速度要快
技术方案
通过创建TTexfFile存储格式ODS临时表外部表,将HDFS上的文件目录映射到外部表
在ODS层创建ORC存储格式相应的表,将临时外部表数据插入到ODS表
数据导入完闭,后续基本ODS进行操作即可
ss
方案优点
数据可分割
数据压缩率90%左右
方案缺点
性能比以前慢(如是ODS只操作一次建议不采用此方案)
维护成本提高
文章参考
https://cwiki.apache.org/confluence/display/Hive/CompressedStorage
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数,导致后结数据处理性能与资源占用都比较大。需要进行优化>如下几点:
存储后数据可切分
数据存储压缩率高
数据加载速度要快
技术方案
通过创建TTexfFile存储格式ODS临时表外部表,将HDFS上的文件目录映射到外部表
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';
在ODS层创建ORC存储格式相应的表,将临时外部表数据插入到ODS表
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'
数据导入完闭,后续基本ODS进行操作即可
ss
方案优点
数据可分割
数据压缩率90%左右
方案缺点
性能比以前慢(如是ODS只操作一次建议不采用此方案)
维护成本提高
文章参考
https://cwiki.apache.org/confluence/display/Hive/CompressedStorage
相关文章推荐
- 漫谈数据仓库之拉链表(原理、设计以及在Hive中的实现)
- Hive开发要知道数据仓库的四个层次设计
- 漫谈数据仓库之拉链表(原理、设计以及在Hive中的实现)
- 【数据仓库】数据仓库设计前如何粗估所需的存储空间大小?
- 关于Hive数据仓库的那些事儿(一)模式设计
- 漫谈数据仓库之拉链表(原理、设计以及在Hive中的实现)
- 漫谈数据仓库之拉链表(原理、设计以及在Hive中的实现)
- hive(01)、基于hadoop集群的数据仓库Hive搭建实践
- 在hive仓库中建贴源数据表
- ES 在HIVE中创建表存储数据
- 大数据的仓库Hive原理(二)
- hive 压缩全解读(hive表存储格式以及外部表直接加载压缩格式数据);HADOOP存储数据压缩方案对比(LZO,gz,ORC)
- 深入浅出数据仓库中SQL性能优化之Hive篇
- 04分布式数据仓库 HIVE -- 导出分析结果
- hive (数据仓库工具) 基本概念
- 移动终端设计实验 实验5:数据存储实验
- XXX数据仓库分析模型设计文档
- Hive数据仓库--Hive导出至Mysql中文乱码问题
- 2.设计数据存储策略:SQL Server 2005应用开发
- 数据仓库的数据存储 [转]