hive
文章平均质量分 65
csdn-延
好记性不如个烂笔头
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Hive常见的压缩格式
完成对Hive表的压缩,有两种方式:配置MapReduce压缩、开启Hive表压缩功能。当然为了方便起见,Hive中的特定表支持压缩属性,自动完成压缩的功能。其中压缩比bzip2 > zlib > gzip > deflate > snappy > lzo > lz4,在不同的测试场景中,会有差异,这仅仅是一个大概的排名情况。从压缩性能上来看:lz4 > lzo > snappy > deflate > gzip > bzip2,其中lz4、lzo、snappy压缩和解压缩速度快,压缩比低。转载 2023-08-02 00:28:45 · 529 阅读 · 0 评论 -
hive视图与物化视图使用详解
对比两者的查询过程不难看出,第一个查询执行了map-reduce任务,耗时2秒多,第二个查询,没有执行map-reduce任务,由于会命中物化视图,重写query查询物化视图,查询速度会加快(没有启动MR,只是普通的table scan),查询时间提升了一倍多,这要是在数据量非常大的情况下性能将是巨大的改善;从上面的内容我们知道,物化视图创建后即可用于相关查询的加速,即:用户提交查询query,若该query经过重写后可以命中已经存在的物化视图,则直接通过物化视图查询数据返回结果,以实现查询加速。转载 2023-08-01 23:25:35 · 2800 阅读 · 0 评论 -
Hive经典面试题之连续N天登录
在日常工作进行数据的ETL或者面试时,经常遇到类似的问题,比如"统计连续N天交易额超过100万的店铺"、"统计连续登录天数超过3天的用户"等。对于这类问题,思路基本都是一样的。本文将介绍常用的两种解决方案。2.用登录日期与rn求date_sub,得到的差值日期如果是相等的,则说明这两天肯定是连续的。3.根据id和日期差date_diff分组,登录次数即为分组后的count(1)1.先把数据按照用户id分组,根据登录日期排序。以"统计连续登录天数超过3天的用户"为需求。注:以下用到的SQL函数,建议参考。转载 2023-07-31 00:30:28 · 237 阅读 · 0 评论 -
UDF和UDAF、UDTF的区别
简单说就是输入一行输出一行的自定义算子。是大多数 SQL 环境的关键特性,用于扩展系统的内置功能。原创 2023-07-31 00:25:13 · 702 阅读 · 0 评论 -
事务事实表、周期快照事实表、累计快照事实表对比
1、事务事实表是稀疏的,只有当天发生的业务过程,事实表才会记录该业务过程的事实,如下单、支付等;而快照事实表是稠密的,无论当天是否有业务过程发生,都会记录 行,比如针对卖家的历史至今的下单和支付金额,无论当天卖家是否有下单支付事实,都会给该卖家记录一行。3、累计快照会记录整个业务过程,数据是不断更新的,而事务事实和周期快照则是不更新。2、事务事实表是可加的,周期快照是半可加的。转载 2023-07-27 18:56:02 · 878 阅读 · 0 评论 -
hive 全量表、增量表、快照表、切片表和拉链表
切片表根据基础表,往往只反映某一个维度的相应数据。其表结构与基础表结构相同,但数据往往只有某一维度,或者某一个事实条件的数据。:记录每条信息的生命周期,当一条记录的生命周期结束,就会重新开始一条新的记录,并把当前日期放入生效开始日期。3)合并变动数据和旧拉链表数据(有更新的信息需要修改生效结束日期,无更新的信息生效结束日期不变)之后插入到临时表中。生效结束日期>=某个日期,能够得到某个时间点的数据全量切片。:记录每天的新增数据,增量数据是上次导出之后的新数据。:记录每天的所有的最新状态的数据,原创 2023-07-27 18:37:19 · 2982 阅读 · 0 评论 -
Hive | 求最大连续登录天数的hql
【代码】Hive | 求最大连续登录天数的hql。原创 2023-07-12 19:17:58 · 203 阅读 · 0 评论 -
Hive将Json字符串数组转为Json对象数组
【代码】Hive将Json字符串数组转为Json对象数组。原创 2023-05-21 15:31:54 · 1148 阅读 · 0 评论 -
HiveServer2的简单用户/密码身份验证(不使用Kerberos/LDAP)
从本质上讲,您必须提供一个可执行身份验证的Java应用程序.也许您正在向mysql或postgres数据库或平面文件等进行身份验证.您需要提供一个可以实现org.apache.hive.service.auth.PasswdAuthenticationProvider接口的jar.然后在hive-site.xml中,使用新创建的自定义身份验证jar。...原创 2022-09-01 00:32:27 · 699 阅读 · 0 评论 -
数据治理系列:浅谈数据质量管理
数据质量管理是对数据从计划、获取、存储、共享、维护、应用、消亡生命周期的每个阶段里可能引发的数据质量问题,进行识别、度量、监控、预警等一系列管理活动,并通过改善和提高组织的管理水平使得数据质量获得进一步提高。数据质量管理的终极目标是通过可靠的数据提升数据在使用中的价值,并最终为企业赢得经济效益...转载 2022-06-14 10:00:43 · 1639 阅读 · 0 评论 -
教你学会在Hive中如何使用视图和索引
前言我们在写HQL有没有遇到过数据量特别大的时候比如,使用HQL 处理起来非常复杂,非常慢,这时候我们可以使用Hive给加个索引来提高我们的速度。多了就不说了,我们直接开始。一、Hive视图1.1 简介Hive 中的视图和 RDBMS 中视图的概念一致,都是一组数据的逻辑表示,本质上就是一条SELECT语句的结果集。视图是纯粹的逻辑对象,没有关联的存储 (Hive 3.0.0 引入的物化视图除外),当查询引用视图时,Hive 可以将视图的定义与查询结合起来,例如将查询中的过滤器推送到..转载 2022-05-03 23:10:41 · 781 阅读 · 0 评论 -
CDH平台Hue、Oozie、Impala时区问题处理
UTC是英国格林尼治天文台旧址零时区。中国时区是东八区,比UTC早8小时,是UTC+8。CDH平台有些组件时区默认使用的UTC时间标准时间,工作中需要自己设置。配置完需要重启服务。HueHue的默认时区是America/Los_Angeles,修改为Asia/ShanghaiHUE -> 配置 -> 搜索 zone -> 修改为 Asia/ShanghaiOozieOozie默认为UTC时区,修改为UTC+0800Oozie -> 配置 -&..原创 2022-03-29 11:48:58 · 602 阅读 · 0 评论 -
数仓|COUNT DISTINCT数据倾斜优化
什么是数据倾斜数据倾斜,在MapReduce编程模型中十分常见,就是大量的相同key被分配到一个分区里,造成了个别task运行的非常慢,从而影响了整个任务的执行效率。数据倾斜产生的根本原因是少数Worker处理的数据量远远超过其他Worker处理的数据量,因此少数Worker的运行时长远远超过其他Worker的平均运行时长,导致整个任务运行时间超长,造成任务延迟。数据倾斜的原因当我们看任务进度长时间维持在99%(或100%),查看任务监控页面就会发现只有少量(1个或几个)reduce子任务未转载 2022-03-27 16:23:58 · 1861 阅读 · 0 评论 -
数仓|长周期去重指标的计算优化
在电商数据仓库和商业分析场景中,经常需要计算最近N天的UV、成交用户数等类似的指标,这些指标都有两个共同的特点 去重,在时间窗口范围内,一个用户多次访问或者购买,只统计一次 时间窗口,这些指标需要根据一段时间内的累积数据进行计算 通常情况下,这些指标的计算逻辑并不复杂,可以从日志明细表中查询数据进行计算。例如,运行如下SQL语句计算商品最近30天的访客数。SELECTsku_code--商品id,COUNT(DISTINCTuser_i...转载 2022-03-27 16:08:47 · 781 阅读 · 0 评论 -
数仓|JOIN数据倾斜优化
背景当数据量比较大且分布不均匀时,对数据进行JOIN操作很容易造成数据倾斜,因为在JOIN的执行阶段会将JOIN KEY相同的数据分发到同一个task任务上处理,如果某个key上的数据量比较多,会导致该task执行的时间比其他的task执行时间长。具体表现为:大部分的task任务都已经执行完成,但只有少数的几个task一直处于运行当中。数据量不大的情况下,一般不会出现数据倾斜的问题。但当数据量巨大时,数据倾斜的现象就会非常普遍。比如电商网站在大促时期,某些店铺的PV远远大于普通店铺的PV,某些热门商转载 2022-03-27 16:04:59 · 2177 阅读 · 0 评论 -
Hive2.0函数大全
摘要Hive内部提供了很多函数给开发者使用,包括数学函数,类型转换函数,条件函数,字符函数,聚合函数,表生成函数等等,这些函数都统称为内置函数。目录数学函数 集合函数 类型转换函数 日期函数 条件函数 字符函数 聚合函数 表生成函数数学函数 Return Type Name (Signature) Description DOUBLE round(DOUBLE a)翻译 2021-12-20 23:59:10 · 367 阅读 · 0 评论 -
Hadoop 生态里,为什么 Hive 活下来了?
Apache Hive 能在下一轮“淘汰”中幸存下来吗?Apache Hive 在 2010 年作为 Hadoop 生态系统的一部分崭露头角,当时 Hadoop 是一种新颖而创新的大数据分析方法。Hive 的功能就是实现 Hadoop 的 SQL 接口。它的架构包括两个主要服务:一是查询引擎:负责执行 SQL 语句;二是元存储:负责在 HDFS 中将数据收集虚拟化为表。HDFS 上的 Hive 的主要组成部分,包括用户界面、驱动程序和元存储。Hadoop 背后的概念是革命的。分布式文件系翻译 2021-12-08 00:26:05 · 426 阅读 · 0 评论 -
Hive数仓筛选出2秒内可能重复下单的订单id列表
背景: 因为弱网缘故,公司的业务系统对下单的防重处理没有完全防住,导致了可能出现重复单情况。面对海量订单人工进行全部排查十分困难且是不现实的,所以在此背景下,基于全量数据,写了一个HiveSQL来筛选出可能重复订单数据。然后再对指定订单id查询订单明细进行人工确认即可找出准确的重复单,再进行操作(可能退掉其中一单)。-- 同一门店、同一商品金额,下单时间相差2秒内的订单idsselect shop_id,p_sp_amt,concat(date_format(created_a...原创 2020-08-30 21:03:13 · 643 阅读 · 0 评论 -
Hive操作指南
一. 建外部表create external table test.test_external( id int comment '测试id' , name string comment '测试名称' ) comment '测试'row format delimited...原创 2020-03-31 00:22:14 · 543 阅读 · 0 评论 -
Hue 中文注释显示乱码
这篇文章写的不错额外补充:为什么数据库字符编码要用latin1(iso-8859-1),而不是utf8呢? 因为在mysql innodb引擎中,索引的长度最大字节数为767。 utf8 数字、英文1字节、中文3字节,gbk,数字、英文、中文各2字节,latin1,数字、英文、中文各1字节,所以hive元数据库为了获取更长的索引长度就采取了latin1字符编码。...原创 2020-03-12 22:25:23 · 959 阅读 · 2 评论
分享