Hive-之posexplode函数查询startDate~endDate之间的所有日期

2023-12-10 13:33

本文主要是介绍Hive-之posexplode函数查询startDate~endDate之间的所有日期,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Hive-之posexplode函数实现查询startDate~endDate之间的所有日期

  • 需求:目前需要动态找到 20200603~20200607之间的所有日期
-- 初始数据集
SET hive.exec.mode.local.auto=true;
WITH temp1 AS (
select 'name1' as uid,'2020-06-03' as start_date, '2020-06-07' as end_date 
UNION ALL 
select 'name2' as uid,'2020-05-03' as start_date, '2020-05-12' as end_date 
)-- 查询SQL
SELECT
*,
t.pos,
DATE_ADD(start_date,t.pos) AS real_shengxiao_time
FROM temp1 
LATERAL VIEW POSEXPLODE(SPLIT(SPACE(datediff(end_date,start_date)),'')) t AS pos,empty_string
  • 查询结果如下:
uid       start_date        end_date   pos   empty_string pos   real_shengxiao_time
name1   2020-06-03      2020-06-07      0                 0       2020-06-03
name1   2020-06-03      2020-06-07      1                 1       2020-06-04
name1   2020-06-03      2020-06-07      2                 2       2020-06-05
name1   2020-06-03      2020-06-07      3                 3       2020-06-06
name1   2020-06-03      2020-06-07      4                 4       2020-06-07
name2   2020-05-03      2020-05-12      0                 0       2020-05-03
name2   2020-05-03      2020-05-12      1                 1       2020-05-04
name2   2020-05-03      2020-05-12      2                 2       2020-05-05
name2   2020-05-03      2020-05-12      3                 3       2020-05-06
name2   2020-05-03      2020-05-12      4                 4       2020-05-07
name2   2020-05-03      2020-05-12      5                 5       2020-05-08
name2   2020-05-03      2020-05-12      6                 6       2020-05-09
name2   2020-05-03      2020-05-12      7                 7       2020-05-10
name2   2020-05-03      2020-05-12      8                 8       2020-05-11
name2   2020-05-03      2020-05-12      9                 9       2020-05-12

这篇关于Hive-之posexplode函数查询startDate~endDate之间的所有日期的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/477248

相关文章

Java对象和JSON字符串之间的转换方法(全网最清晰)

《Java对象和JSON字符串之间的转换方法(全网最清晰)》:本文主要介绍如何在Java中使用Jackson库将对象转换为JSON字符串,并提供了一个简单的工具类示例,该工具类支持基本的转换功能,... 目录前言1. 引入 Jackson 依赖2. 创建 jsON 工具类3. 使用示例转换 Java 对象为

SQL 中多表查询的常见连接方式详解

《SQL中多表查询的常见连接方式详解》本文介绍SQL中多表查询的常见连接方式,包括内连接(INNERJOIN)、左连接(LEFTJOIN)、右连接(RIGHTJOIN)、全外连接(FULLOUTER... 目录一、连接类型图表(ASCII 形式)二、前置代码(创建示例表)三、连接方式代码示例1. 内连接(I

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

java父子线程之间实现共享传递数据

《java父子线程之间实现共享传递数据》本文介绍了Java中父子线程间共享传递数据的几种方法,包括ThreadLocal变量、并发集合和内存队列或消息队列,并提醒注意并发安全问题... 目录通过 ThreadLocal 变量共享数据通过并发集合共享数据通过内存队列或消息队列共享数据注意并发安全问题总结在 J

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

Java文件与Base64之间的转化方式

《Java文件与Base64之间的转化方式》这篇文章介绍了如何使用Java将文件(如图片、视频)转换为Base64编码,以及如何将Base64编码转换回文件,通过提供具体的工具类实现,作者希望帮助读者... 目录Java文件与Base64之间的转化1、文件转Base64工具类2、Base64转文件工具类3、

java如何通过Kerberos认证方式连接hive

《java如何通过Kerberos认证方式连接hive》该文主要介绍了如何在数据源管理功能中适配不同数据源(如MySQL、PostgreSQL和Hive),特别是如何在SpringBoot3框架下通过... 目录Java实现Kerberos认证主要方法依赖示例续期连接hive遇到的问题分析解决方式扩展思考总

springboot日期格式化全局LocalDateTime详解

《springboot日期格式化全局LocalDateTime详解》文章主要分析了SpringBoot中ObjectMapper对象的序列化和反序列化过程,并具体探讨了日期格式化问题,通过分析Spri... 目录分析ObjectMapper与jsonSerializer结论自定义日期格式(全局)扩展利用配置