一个sql生成hive日期维度表

目录

1、日期维度表

2、生成语句

3、用例


在进行日期处理时,有时候会很麻烦,于是小编开发了一张日期维表,供大家参考。

1、日期维度表

num字段名字段中文名描述数据类型
1date日期日期 yyyMMdd格式bigint
2week星期,数字型星期,数字型 0-6bigint
3week_cn星期中文名星期中文名 星期一……string
4year_weeks一年中的第几周一年中的第几周 1 2 3……bigint
5mon_dt本周周一日期本周周一日期bigint
6sun_dt本周周日日期本周周日日期bigint
7month年月年月,yyyyMM格式bigint
8month_short月份简写月份简写,MM格式1~12bigint
9month_cn月份中文名月份中文名 一月……string
10quarter季度季度,yyyyQ1\2\3\4string
11quarter_short季度 数字型季度 数字型 1-4bigint

 

2、生成语句

set hive.execution.engine=tez;
with dates as (
select date_add("2010-01-01", a.pos) as d
from (select posexplode(split(repeat("o", datediff("2030-12-31", "2010-01-01")), "o"))) a
)
insert overwrite table dim.dim_date
select
    d
  , date_format(d, 'yyyyMMdd000000') as to_pt            -- 指定分区格式
  , date_format(d, 'yyyyMMdd')       as date_yyyymmdd
  , trunc(d,'MM')                    as month_first_day 
  , last_day(d)                      as month_last_day
  , date_format(last_day(d),'yyyyMMdd000000')   as month_last_pt
  , date_format(d, 'yyyyMM')  as month_yyyymm
  , date_format(d, 'yyyy-MM') as month_yyyy_mm
  , month(d) as month
  , date_format(d, 'u') as week
  , date_format(d, 'E') as week_long   
  , weekofyear(d) as week_of_year
  , year(d) as year
  , floor(substr(d,6,2)/3.1)*3+1 as quarter
  -- , concat_group('"',date_format(d, 'yyyyMM'),'"') as date_yyyymmdd_list   -- 低版本hive group_concat 不可用
from dates

3、用例

  1. 取月末:where date_pk = month_last_day;
  2. 取周末:where week_int in (6,7);
  3. 取每月最后一天pt+ 当月昨天pt:where pt IN ( SELECT max(to_pt) FROM dim.dim_date where to_pt <= '${-1d_pt}' group by month_yyyymm  );
  4. 其它用法......

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/494782.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

重磅推荐:机器人行业深度报告

来源&#xff1a;WPR随着中国人口红利消失&#xff0c;机器人不仅在制造业上正在替代工人&#xff0c;还将在军事、服务、娱乐等领域取代人类&#xff0c;“钢铁侠”已不仅仅存在于美国科幻电影中&#xff0c;而正走入我们的生活。本篇报告对机器人行业及龙头上市公司进行分析&…

Could not create directory F:\Qt\Test\Error in Util.asciify(build-First_02-Desktop_Qt_5_6_3_Min

第一次使用的Qt的时候出现了这种错误&#xff01; 相信很多人在第一次使用的时候都会遇到这样的情况&#xff0c;果不其然&#xff0c;搜了一下很多的处理方法&#xff0c;其中有一种我感觉是最有效的&#xff0c;就是改一下他的生成路径就好了&#xff0c;因为这个错误的出现…

POJ 2392 Space Elevator

题目地址&#xff1a;http://poj.org/problem?id2392 题目大意&#xff1a;有一头奶牛要上太空&#xff0c;他有很多种石头&#xff0c;每种石头的高度是hi&#xff0c;但是不能放到ai之上的高度&#xff0c;并且这种石头有ci个 将这些石头叠加起来&#xff0c;问能够达到的最…

一篇文章搞懂数据仓库:总线架构、一致性维度、一致性事实

目录 1、概述 总线架构 一致性维度 一致性事实 2、总线架构demo 1、概述 在Kimball的维度建模的数据仓库中&#xff0c;关于多维体系结构&#xff08;MD&#xff09;有三个关键性概念&#xff1a;总线架构&#xff08;Bus Architecture&#xff09;&#xff0c;一致性维…

路易斯·罗森伯格与「群体智能」

选自 | Gigaom编译 | 网易智能&#xff08;smartman163&#xff09;参与 | 李擎与谷歌、Facebook等开发“传统意义上的人工智能”的技术不同&#xff0c;在Unanimous A.I.&#xff0c;科学家们利用人工智能来放大群体的智慧&#xff0c;而不是使用人工智能来代替人类。他们没有…

数据结构和数据类型之间的关系

数据结构 数据元素 数据关系&#xff1b; 数据类型 数据结构 数据操作&#xff1b; 所以数据类型的范畴是大于数据结构的。 数据类型的范畴和类有点相似。其实类也是一种数据类型。 int,char基本类型 同样可以抽象成数据结构和数据元素的模型&#xff0c;只是这里的数据元素…

hive 参数设置大全

合理设置参数&#xff0c;让集群飞起来~ 参数缺省值描述可单独使用set hive.execution.enginetez; 设置hive的计算引擎可单独使用set mapreduce.map.memory.mb4096; 设置每个map的内存可单独使用set mapreduce.reduce.memory.mb4096; 设置每个reduce的内存可单独使用set map…

Qt实用快捷键(较全面)

总结整理的常用快捷键&#xff0c;欢迎留言补充&#xff01;

Python下载中国数据库大会(DTCC2020)PPT全集

目录 背景 效果展示 程序下载 网盘下载 背景 前几天中国数据库大会风风火火的在京举行了&#xff0c;期间干货满满&#xff0c;收获良多。在学大佬们的ppt时&#xff0c;发现只能一篇一篇预览&#xff0c;对于求知欲强烈的小编来说简直太难受了&#xff0c;于是便写了个程…

Android UI布局—— 仿QQ登录界面

最近&#xff0c;有点空闲的时间就拿QQ登录界面来模仿练手&#xff0c;做了个简单的登录界面。界面一般般吧&#xff0c;不算很漂亮&#xff0c;现在拿出来分享&#xff0c;希望大家一起学习与进步。有什么不足之处&#xff0c;请各位大侠多多赐教&#xff0c;谢谢。这个界面涉…

新造车公司背后的「资本大佬」

来源&#xff1a;电动汽车观察家&#xff08;ID&#xff1a;evobserver&#xff09;为了代表行业全貌&#xff0c;我们既分析光鲜靓丽的头部企业&#xff0c;也涉及比较不知名、甚至陷入舆论漩涡的一些企业&#xff0c;共十家代表企业资金的来源分析。1、蔚来汽车过往融资成绩&…

MySQL流浪记(一)—— 初步认识数据库的内涵

认识数据库 数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内、有组织、可共享、统一管理的大量数据的集合。可以将数据库视为一个电子化的文件柜&#xff0c;用户可以对文件中的数据进行新增、查询、更新、删除等操作。 数据库是一个按数据结…

一篇文章搞懂数据仓库:元数据分类、元数据管理

目录 1、业务元数据 2、技术元数据 3、管理元数据 4、小编有话 1、业务元数据 描述 ”数据”背后的业务含义 主题定义&#xff1a;每段 ETL、表背后的归属业务主题。 业务描述&#xff1a;每段代码实现的具体业务逻辑。 标准指标&#xff1a;类似于 BI 中的语义层、数仓…

MEMS传感器科普文

来源&#xff1a;MEMS技术MEMS 的全称是微型电子机械系统&#xff0c;利用传统的半导体工艺和材料&#xff0c;集微传感器、微执行器、微机械机构、信号处理和控制电路、高性能电子集成器件、接口、通信和电源等于一体的微型器件或系统。具有小体积、低成本、集成化等特点。MEM…

silverlight 缺少对象错误

如果你的silverlight程序用vs调试时候运行良好,没有错误.你满怀欣喜的发布到iis上,一浏览,跳出个对话框,告诉你缺少对象.那么请不要慌张,你应该检查一下,你发布silverlight程序到iis的时候,有没有设置MIME类型,如果忘了设置,赶紧设置上吧,方法如下: 打开iis管理器,在网站上右键…

NFS服务器原理、搭建、配置

目录 NFS服务简介 什么是NFS&#xff1f; NFS挂载原理&#xff1a; RPC与NFS通讯原理&#xff1a; NFS客户端和NFS服务器通讯过程&#xff1a; Linux下NFS服务器部署 NFS服务所需软件及主要配置文件&#xff1a; 服务端安装NFS服务步骤&#xff1a; NFS客户端挂载配置…

MySQL流浪记(二)—— MySQL介绍及其特性

MySQL介绍 MySQL是一个关系型数据库&#xff0c;是一个开放源码的关系型数据库管理系统&#xff0c;原开发者位瑞典的MySQL AB公司&#xff0c;该公司于2008年被昇阳为系统&#xff08;Sun&#xff09;收购&#xff0c;2009年&#xff0c;甲骨文公司&#xff08;Oracle&#xf…

学习AutoIt

学习AutoIt转载于:https://www.cnblogs.com/bull_think/archive/2012/08/21/2649839.html

2021年03月-程序员薪资分布,看看你拖后腿了吗?

程序员工资是不确定的&#xff0c;要根据程序员的历、能力、工作经验、是否刚毕业、工种&#xff0c;工资是不一样的&#xff0c;还与地域和公司有关&#xff0c;但是总的来说&#xff0c;程序员工资都是很高的&#xff0c;是很多人都羡慕的职位。 那么程序员的薪资到底多高呢…

Science:领导决策的计算和神经生物学基础

来源&#xff1a;思影科技摘要&#xff1a;最近&#xff0c;来自苏黎世大学的Micah G. Edelson等人在SCIENCE上发文&#xff0c;他们将基于知觉和价值决策的模型结合起来&#xff0c;以评估被试对每一个决策行为的个人效用&#xff0c;从而梳理出选择领导或服从的潜在动机。最近…