数据仓库
文章平均质量分 57
我是A_lin呀
勤于思,敏于行,善于言。
展开
-
hive 排序取中间60%数据
NTILE(n),用于将分组数据按照顺序切分成n片,返回当前切片值。将一个有序的数据集划分为多个桶(bucket),并为每行分配一个适当的桶数(切片值,第几个切片,第几个分区等概念)。它可用于将数据划分为相等的小切片,为每一行分配该小切片的数字序号。NTILE不支持ROWS BETWEEN,比如NTILE(2) OVER(PARTITION BY dept_no ORDER BY salary ROWS BETWEEN 3 PRECEDING - AND CURRENT ROW)。原创 2023-01-14 16:20:37 · 1702 阅读 · 1 评论 -
hive sql 多字段关联注意
多个关联键 需要注意只要其中一个字段为null 整个记录是关联不上的。如果需要关联上,要nvl或coalesce处理下。select * from (select 1 as id1,null as id2,3 as x) as a left join (select 1 as id1,null as id2,4 as y) as b on a.id1=b.id1 and a.id2=b.id2select * from (select 1 as id1,null.原创 2022-01-21 17:58:36 · 2391 阅读 · 0 评论 -
【数据仓库】数据漂移的处理
本文摘自《大数据之路:阿里巴巴大数据实践》。数据漂移的处理通常我们把从源系统同步进人数据仓库的第一层数据称为ODS或者staging层数据,阿里巴巴统称为ODS。数据漂移是ODS数据的一个顽疾,通常是指ODS表的同一个业务日期数据中包含前一天或后一天凌晨附近的数据或者丢失当天的变更数据。由于ODS需要承接面向历史的细节数据查询需求,这就需要物理落地到数据仓库的ODS表按时间段来切分进行分区存储,通常的做法是按某些时间戳字段来切分,而实际上往往由于时间戳字段的准确性问题导致发生数据漂移。通常原创 2021-11-23 18:56:21 · 2870 阅读 · 1 评论