
hive
文章平均质量分 52
小猫咪不是猫
这个作者很懒,什么都没留下…
展开
-
集市需求常用规范
最近做了一些经营周报,日报相关指标,写的倒是挺快,但是数据上总是不能一次性准确。比如放款金额,余额这样的关键指标,如果都是null,那肯定不正常,要注意看看是不是表没有选对。多个不同维度的指标做汇总,可不能写union,这样是去重的,要写成union all。用的最多的是关联,数据膨胀就会有大概率发生,要确认好粒度唯一。不要一次性写一堆join,这样的话不便于查数据bug。2,union写成union all?3,关键指标的null ,要提前查看。4,可以多做一些临时表,便于查数。原创 2025-03-17 22:16:29 · 99 阅读 · 0 评论 -
hive求每周某产品新老客的人数问题
如果是首次出现,结果就是0,反之非0的就是老客了(计算的时候要给时间字段加unix_timestamp前缀,才可正常计算)a表:产品,客户号,申请时间(timestamp时间戳格式,不为空且与流水号一一对应),流水号(不为空且唯一)2️⃣将1的时间单独取出来,作为一个新字段,其余非第一次出现的时间默认1970-01-01。count(distinct if (is_new<>0,客户号,null))为老客数量。count(distinct if (is_new=0,客户号,null))为新客数量。原创 2025-03-13 11:50:39 · 211 阅读 · 0 评论 -
hive中常用的日期函数
SELECT DATE_FORMAT('2025-01-23', '%Y年%m月%d日');表示在 2025-01-23 基础上加上5天,返回 2025-01-28。🔨现在数仓部门也有专门的日期维表,写入了日期相关的很多字段,比如周啊季度啊上旬啊月啊之类的,还挺全面的,但是要看一下跨年是如何计算的,保持一致就好了。🔨我发现很多日期相关的计算,都是带-的形式的日期,一般分区表里存的都是不带-的日期,原创 2025-01-23 14:47:57 · 389 阅读 · 0 评论 -
hiveSQL参数调优
mapJoin的主要意思就是,当链接的两个表是一个比较小的表和一个特别大的表的时候,我们把比较小的table直接放到内存中去,然后再对比较大的表格进行map操作。join就发生在map操作的时候,每当扫描一个大的table中的数据,就要去去查看小表的数据,哪条与之相符,继而进行连接。改 hive.tez.container.size 的值之后,一定要改参数 hive.tez.java.opts,hive.tez.java.opts设置JVM 启动参数,最重要的是 -Xmx 设置JVM 最大堆内存。原创 2023-11-08 19:10:34 · 456 阅读 · 0 评论