【Hive SQL】统计同名路径下目录数量(基于reverse、split和substr函数)

news2024/11/25 1:02:54

首先,Hive事务表所产生的的路径信息如下:
PS:其中路径信息格式为

/user/hive/warehouse/${database_name}.db/${table_name}/*
/user/hive/warehouse/test.db/tran_ts/delete_delta_0000002_0000002_0000
/user/hive/warehouse/test.db/tran_ts/delta_0000001_0000001_0000
/user/hive/warehouse/test.db/tran_ts/delta_0000002_0000002_0000

然后,需求为:我们需要分库表统计目录数量。

接下来,拆分需求:

  1. 获取最后一个子目录名
  2. 截取字符串到最后一个‘/’前的路径信息

因为hive没有获取第几个字符的相关UDF函数,所以只能通过多个函数组合的方式进行处理。结果如下:

select  location,
		substr(location, 1, length(location) - length(split(reverse(location), '/')[0]) - 1) as db_table_path,
		reverse(split(reverse(location), '/')[0]) as last_subpath_name
from 
(
	select "/user/hive/warehouse/test.db/tran_ts/delete_delta_0000002_0000002_0000" as location
) t

在这里插入图片描述

解析:

  • reverse(location):反转字符串
  • split(reverse(location), ‘/’)[0]:反转并分隔字符串,获取字符串数组第一个字符串
  • reverse(split(reverse(location), ‘/’)[0]):反转上述获取到的字符串,得到最后一个子目录名
  • length(location):获取路径字符串长度
  • length(location) - length(split(reverse(location), ‘/’)[0]) - 1:获取待截取字符串长度,即总长度-最后一个子目录名长度
  • substr(字符串,截取字符串起始位置,截取字符串长度):进行字符串截取

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

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

相关文章

VUE响应式

响应式 :::tip 提示 我们了解过响应式可以同步更新数据和视图,但是其工作原理我们最好也要了解一下。这样当你使用时遇到一些常见的错误,也能够快速定位是什么问题导致的。 了解响应式原理之前,你必须要先去了解 ES5 的 Object.defineProper…

项目管理的工作分解结构 (WBS):如何创建及使用

工作分解结构 (WBS) 是一种可视化的项目分解。通过将项目分解为更小的组件,WBS 可以将范围、成本和可交付成果集成到一个工具中。虽然大多数 WBS 是基于可交付成果的,但它们也可以是基于阶段的。下面来详细了解 WBS 可以为项目管理做些什么。 项目管理中…

Linux 磁盘管理,分区,文件系统

目录 磁盘基本概念 磁盘在Linux中的表示 分区的概念,分区是软件概念 MBR GPT 使用fdisk进行磁盘管理 文件系统 mke2fs mkfs mke2fs mkfs dumpe2fs 日志 e2label fsck (file system check) 挂载、使用文件系统,mount,unmount 自动挂载…

大数据平台测试

简介: 一.大数据平台测试简述 大数据平台测试包括2部分:基础能力测试和性能测试 Ⅰ).基础能力测试 大数据平台的基本功能和数据的导入导出对SQL任务、NoSQL任务、机器学习、批处理任务的支持 大数据平台是否能够通过界面的形式方便用户进行非运行维护&am…

PCIE2.0/PCIE3.0/PCIE4.0/PCIE5.0接口的带宽、速率计算,nvlink互联

PCIE2.0/PCIE3.0/PCIE4.0/PCIE5.0接口的带宽、速率计算 https://blog.csdn.net/weixin_42229404/article/details/84069859 PCI-Express(peripheral component interconnect express)是一种高速串行计算机扩展总线标准,它原来的名称为“3GIO”,是由英特…

虚拟机突然无法访问外部网络的现象集合

现场还原 虚拟机突然无法访问外部网络 ping 8.8.8.8的时候显示网络不可达 ping 8.8.8.8ping www.baidu.com(报:未知的名称或服务或请求超时) ping www.baidu.comyum操作 也提示错误:为仓库 ‘appstream’ 下载元数据失败 : C…

device or resource busy

最近要删除ubuntu下面的某个文件的时候,突然报错: "device or resource busy", 于是通过 如下命令: lsof | grep /projects/m/CMLR_processed_codeformer_HD/20110330/02313/.nfs0000000001dedb1b00000003 发现是 5953号进程占用了,于是kill…

win11鼠标指针怎么设置

win11有很多自定义的功能,这个功能可以让我们根据自己的喜好进行系统的自定义设置,很多小伙伴在将电脑更新成win11之后不知道该怎么设置鼠标指针,这里小编就给大家带来win11鼠标指针的设置方法,还不太清楚的小伙伴快来跟小编一起了…

SpringMvc第五战-【SpringMvcJSR303和拦截器】

前言: 小编阐述了springmvc 中的文件下载,以及jrebel的使用和文件下载以及多文件下载! 在本次小编将会介绍JSR303的概念,应用场景和在具体实例的使用;和拦截器的应用 一.JSR303的介绍 1.什么是JSR303? JSR是Java S…

清理不干净等于白清理!如何擦除所有个人数据并擦除iPhone和iPad

我们大多数人每天都在使用iPhone和iPad。在设备的使用寿命中,我们会积累大量敏感数据和信息,包括消息、照片、视频、联系人、信用卡、密码等等。这就是为什么确保你有所有重要物品的备份很重要,这样你就可以在卖掉或交给别人之前把它扔掉。 …

13.6 Production State Awareness (PSA)

1. Introduction UFS设备可以利用有关其生产状态的知识,相应地调整内部操作。 例如,在设备焊接之前加载到存储设备中的内容可能被破坏,其概率高于regular模式。UFS设备可以在设备焊接前使用“Special”内部操作加载内容,这将减少…

返回值加const ,为了不拷贝得到成员的值,但被赋值的左值也要const

1. getA 函数返回值 什么都不加,也改不了c里面a的指针指向 why?返回成员变量时,会复制一下。 返回成员变量时,一般会赋值一下没有RVO_地摊书贩的博客-CSDN博客 2. getA 函数返回值 加了引用, 就没有复制 3. getA 函数…

04JVM_语法糖

一、编译期处理 语法糖java编译器把*.java源码编译为*.class字节码的过程中,自动生成和转换的一些代码(添加的class字节码),减轻程序员的负担。 1.默认构造器 默认构造器没有写任何的构造方法,但经过编译器编译成字…

pdfjs解决ie浏览器预览pdf问题

pdfjs是一个js库,可以将pdf文件用canvas重新绘制,从而无需借助pdf读取插件就可以直接预览。 目前chrome内核的浏览器已内置pdf读取插件,但ie浏览器还没有。而我们最近在做的一个项目使用对象是医院,使用的浏览器竟然还是ie。所以我…

@BeforeEach与@AfterEach

BeforeEach 修饰在方法上,在每一个测试方法(所有Test、RepeatedTest、ParameterizedTest或者TestFactory注解的方法)之前执行一次。 例如:一个测试类有2个测试方法testA()和testB(),还有一个BeforeEach的方法&#x…

安科瑞ADL400产品功能及参数说明,适用于5G基站计量使用

安科瑞虞佳豪壹捌柒陆壹伍玖玖零玖叁 “十四五”以来,重庆新型数字基础设施建设取得明显成效,截至今年6月底,每万人拥有5G基站数24个,5G发展保持在全国第一梯队。 新型数字基础设施包括5G网络、千兆光网、数据中心、工业互联网、…

Mysql高级——存储引擎

存储引擎 1). 连接层 最上层是一些客户端和链接服务,包含本地sock 通信和大多数基于客户端/服务端工具实现的类似于 TCP/IP的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程 池的概念,为通过认证安全接入的客户端提…

潍坊学院图书馆藏《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书

潍坊学院图书馆藏《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书

教师必看,如何巧妙告知学生家长成绩分数?

亲爱的教师们!今天博主要跟你们分享一个巧妙的方法,帮助你们与学生家长发布成绩分数时让他们更好的了解孩子的学习情况。是不是觉得很有用?那就跟我一起来看看吧。 我们可以借助一个神奇的工具——易查分。它能把成绩分数以在线查询的形式呈现…

AD22使用笔记+积累库

一、前言 使用AD9习惯了,但是需求逐渐上来了就不够用了,好多快捷的新功能要新版本软件才能用,所以升级使用AD22 目录 1.添加层之后中间层无法布线 2.新增快捷方式CtrlW布线,不用点图标了 二、环境 AD22 三、正文 1.添加层之…