hive
文章平均质量分 75
ccstargazing
这个作者很懒,什么都没留下…
展开
-
数仓建模综述
一、为什么需要建模性能:良好的数据模型能帮助我们快速查询所需要的数据,减少数据I/O的吞吐。 成本:良好的数据模型能极大地减少不必要的数据冗余,也能实现计算结果 复用,极大地降低大数据系统中的存储和计算成本。 效率:良好的数据模型能极大的改善用户使用数据的体验,提高使用数据的效率。 质量:良好的数据模型能改善数据统计口径的不一致性,减少数据计算错误的可能性。二、关系数据库和数据仓库 随着大型关系数据库商业软件的兴起,现代企业信息系统几乎都在使用关系数据库来存储、加工和处理数据。数...原创 2021-02-07 11:57:09 · 207 阅读 · 0 评论 -
浅谈离线用户画像开发
用户画像一般包含三种画像:基础画像(base_info_da)、行为画像(action_info_da)、偏好画像(prefer_info_da)。基础画像:用户的年龄、性别、婚姻状态,还有挖掘类标签也可融入其中,如用户生命周期、留存率、流失率等。 行为画像:比如用户近X天在Y维度下访问、关注商品的次数。(X可以是1、3、7、100天,Y可以是比如裤子类、羽绒服类、夹克类) 偏好画像:根据用户X的行为数据,进行时间衰减和不同行为的权重计算出偏好。(比如裤子类中,用户对休闲裤的偏好是0.6,牛仔裤的偏原创 2021-02-03 11:12:01 · 386 阅读 · 0 评论 -
full outer join替换union all解决out_map问题
背景:用户画像需要计算X天的数据,并且是用户维度去计算,所以需要对历史数据进行id关联。比如用户前天登陆A手机,昨天登陆B手机,今天在算的时候就要归到一个人。在计算的时候就需要将(-X)--(-1)天的数据进行id关联计算。由于数据量大,运行时间慢,故需优化。涉及的表:action_di:行为明细表,需要X个分区。每天6点产出。 id_relation_da:id关联表,每天4点产出。 browse_cnt_da:用户浏览结果表,需要X个action_di和id_relation_da进行id转原创 2020-11-11 18:24:24 · 655 阅读 · 0 评论 -
hive mapjoin正确写法,多张表mapjoin正确写法
mapjoin相关参数:https://blog.csdn.net/ccstargazing/article/details/106564262直接举例子:当有多张维度表去关联一张事实表,并且主表的某一关联键使用了不止一次。事实表:base,三个字段:key、city_code、biz_id维度表:position,六个字段:city_code、biz_id、city_name、city_short、biz_name、biz_short。常规写法:select t1.key a原创 2020-09-28 18:35:37 · 2761 阅读 · 2 评论 -
hive sql连接优化,hive参数设定,map连接
Map连接当大小表连接时,Map连接是一个非常有用的特性。小表保存在每个节点的本地缓存,在Map阶段与大表进行连接。两个优势:小表装进缓存将节省每个数据节点上的读取时间;避免了hive查询中的倾斜连接,因为每个数据块的连接操作在map阶段完成了。hive.auto.convert.join=true:是否启用基于输入文件的大小,将普通连接转化为Map连接的优化机制。 hive.auto.covert.join.noconditionaltask=true:是否启用基于文件的大小,将普通连接转化为原创 2020-06-08 10:06:04 · 721 阅读 · 0 评论 -
数据仓库建模,维度模型关系模型对比
数据仓库定义数据仓库是一个面向主题的(SubjectOriented)、集成的(Integrate)、不可更新的(Non-Volatile)、随时间变化的(TimeVarian)数据集合,用户支持管理决策。面向主题:所有数据都围绕某一主题组织。 数据集成:数据来源于多个数据源的集成。 随时间变化:定期接收新的集成数据。 不可更新:保存的数据是一些列的快照。不允许被修改。建设数据仓库的原因将多个数据源集成到单一数据存储,因此可以使用单一数据查询引擎展示数据。 维护历史数据。 通过提供一原创 2020-06-04 10:16:39 · 1159 阅读 · 1 评论 -
维度数据模型,星型模型、雪花模型
总述:维度模型是一种趋向于支持最终用户对数据仓库进行查询的设计技术,是围绕性能和易理解构建的。尽管关系模型对于事务处理系统表现非常出色,但它并不是面向最终用户的。事实和维度是两个维度模型中的核心概念。事实表示对业务数据的度量,而维度是观察数据的角度。事实通常是数字类型的,可以进行聚合和计算,而维度通常是一组层次关系或描述信息。维度模型按照业务流程领域即可,例如进货、销售、库存、进货等。不同主题域可能共享某些维度,为了提高数据操作的性能和数据一致性,需要使用一致性维度。1、维度数据模型建模过程原创 2020-06-02 10:26:08 · 1958 阅读 · 0 评论 -
hive union底层原理,union与union all再group by的性能对比
union:将多个结果集合并为一个结果集,结果集去重。union all:将多个结果集合并为一个结果集,结果集不去重。本次测试将四份数据去重合并,其中一份数据使用了grouping sets,所以这份数据是单独进行了一次reduce。两种写法:一种是采用union的方法,另一种是采用union all再进行group by的方法(将不去重的结果集利用group by去重)。接下来直...原创 2020-04-07 11:37:43 · 4343 阅读 · 3 评论 -
hive性能优化,一篇就够了!!!
一 Sql转换mr过程二 基本sql原则三 map四 join五 reduce一 Sql转换mr过程这里借用一下美团技术文章:https://tech.meituan.com/2014/02/12/hive-sql-to-mapreduce.html二 基本sql原则•1:尽量早的过滤数据(谓词下推hive.optimize.ppd、避免空值),同时列...原创 2020-03-29 13:33:00 · 1124 阅读 · 0 评论 -
数据仓库与数据湖
一、数据仓库与数据湖的区别一是存储数据类型不同。数据仓库中存储的主要是结构化数据,对于加载到数据仓库中的数据,首先需要定义数据存储模型。而数据湖以其原生格式保存大量原始数据,包括结构化的、半结构化的和非结构化的数据,并且在使用数据之前,不对数据结构进行定义。二是数据处理模式不同。数据仓库是高度结构化的架构,数据在清洗转换之后才会加载到数据仓库,用户获得的是处理后数据。而在数据湖中,数据直接...原创 2020-02-26 18:51:42 · 4094 阅读 · 0 评论 -
ORC文件存储格式探究
一、ORC文件格式ORC的全称是(Optimized Record Columnar),使用ORC文件格式可以提高hive读、写和处理数据的能力。ORC在RCFile的基础上进行了一定的改进,所以与RCFile相比,具有以下一些优势:- 1、ORC中的特定的序列化与反序列化操作可以使ORC file writer根据数据类型进行写出。- 2、提供了多种RCFile中没有的index...翻译 2020-08-11 12:03:37 · 900 阅读 · 0 评论