常用hivesql记录

前言

hivesql中很多常用的功能,过段时间没有使用就容易忘记,需要去网上搜索,这里总结一下,省的以后还去去搜,供自己以后参考。

查看分区的行

show rowcount extended table_name;

创建二级分区表

set hive.default.fileformat=Orc;
use db_name;
CREATE TABLE IF NOT EXISTS tb_name(col_name1 STRING comment '',col_name2 STRING comment '',col_name3 STRING comment '',col_name4 STRING comment '',col_name5 STRING comment ''
)COMMENT 'for demo'
PARTITION BY LIST(col_name) 
SUBPARTITION BY LIST (col_name2) (SUBPARTITION default) ( PARTITION default)
STORED AS ORCFILE COMPRESS;

alter表(增加列)

use db_name;
ALTER TABLE tb_name ADD COLUMNS (cols_name6 string COMMENT ''
);

alter表(drop列)

# 不写即删除, 删除col_name4,col_name5,col_name6,保留col_name1,col_name2,col_name3
use db_name;
ALTER TABLE tb_name ADD COLUMNS (col_name1 STRING comment '',col_name2 STRING comment '',col_name3 STRING comment ''
);

删除表

use db_name;
drop table tb_name;

insert分区数据

# 将p_20221231分区的数据,写到p_20230101分区,注意分区名和值的统一,否则会写入失败
use db_name;
alter table tb_name drop partition (p_20230101);
alter table tb_name add partition p_20230101 values in(20230101);
insert table tb_name partition(col_name1=20230101)
select'20230101' as col_name1,col_name2, col_name3, col_name4
from tb_name
partition ( p_20221231)p

case-when操作

 selectcol_name1,col_name2, col_name3, col_name4,case when col_name3 is null then CONCAT_WS('-', col_name1, col_name2)when col_name4 is null then CONCAT_WS('-', col_name1, col_name2, col_name3)else col_name1end as new_col_namefrom tb_name partition(p_20230101)t

LATERAL VIEW操作

col_name4的值为(字符串):‘{ “list_value”: [value1, value2]}’

# col_name4的值为:"[value1, value2]"
# 先将其col_name3转为json,然后获取list_value的值,接着使用regexp_replace替换掉("[]")等,变成字符串。再接着使用split分割成数组,并使用explode将其打平。selectcol_name1,col_name2, col_name3, col_name4,id_tmpfrom tb_name partition(p_20230101)tLATERAL VIEW explode(split(regexp_replace(get_json_object(col_name4, '$.list_value'), "\"|\"|\\[|\\]", ''), ',')) id_list as id_tmp

分组排序编号,获取topK操作

# 
SELECT *
from (SELECT col_name1,col_name2, row_number() over (partition by col_name2, col_name3 order by col_name4 desc) rank rankfrom tb_name
)
where rank < 500

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

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

相关文章

《008.SpringBoot之教务系统》【界面简洁功能简单】

《008.SpringBoot之教务系统》【界面简洁功能简单】 项目简介 [1]本系统涉及到的技术主要如下&#xff1a; 推荐环境配置&#xff1a;DEA jdk1.8 Maven MySQL 前后端分离; 后台&#xff1a;SpringBootMybatis; 前台&#xff1a;JSPBootStrap; [2]功能模块展示&#xff1a; 管…

[文件读取]coldfusion 文件读取 (CVE-2010-2861)

1.1漏洞描述 漏洞编号CVE-2010-2861漏洞类型文件读取漏洞等级⭐⭐漏洞环境VULFOCUS攻击方式 描述: Adobe ColdFusion是美国Adobe公司的一款动态Web服务器产品&#xff0c;其运行的CFML&#xff08;ColdFusion Markup Language&#xff09;是针对Web应用的一种程序设计语言。 A…

Lua的Resty-Request库写的一个简单爬虫

文章目录 准备工作编写爬虫运行爬虫代码分析拓展功能总结 &#x1f389;欢迎来到AIGC人工智能专栏~Lua的Resty-Request库写的一个简单爬虫 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&#x1f379;✨博客主页&#xff1a;IT陈寒的博客&#x1f388;该系列文章专栏&#xff1a;AIGC人工智…

c语言数据结构---二叉树非递归输出

#include<stdio.h> #include<stdlib.h> #include<stack> using namespace std; typedef struct node{struct node*lchild;struct node*rchild;char data; }Node,*Bit;Bit creat(){//先序创建 char b; int t; scanf("%c",&b); tgetchar();//吸…

Git分支与Git标签详解

目录 前言 一、Git分支&#xff08;Branch&#xff09; 1.分支的概念 2.分支的常用操作 3.Git 分支管理 二、Git标签&#xff08;Tag&#xff09; 1.标签的概念 2.标签的类型 3.标签的常用操作 4.Git标签管理 前言 在软件开发过程中&#xff0c;版本管理是非常重要的一…

【无标题】通用工作站设计方案:ORI-D3R600服务器-多路PCIe3.0的双CPU通用工作站

ORI-D3R600服务器-多路PCIe3.0的双CPU通用工作站 一、机箱功能和技术指标&#xff1a; 系统 系统型号 ORI-SR630 主板支持 EEB(12*13)/CEB(12*10.5)/ATX(12*9.6)/Micro ATX 前置硬盘 最大支持8个3.5寸(兼容25寸)SATA硬盘 2*2.5(后置) 电源类型 CRPS元余电源&#xff0…

Kalman滤波

文章目录 一、公式推导二、扩展卡尔曼滤波 卡尔曼滤波是一种最优化递归数据处理算法。&#xff08;Optimal Recursive Data Processing Algorithm&#xff09; Kalman滤波是时域滤波&#xff0c;采用状态空间描述系统&#xff0c;运用递推形式是计算简单&#xff0c;数据存储量…

postman调用接口报{“detail“:“Method \“DELETE\“ not allowed.“}错误, 解决记录

项目是python代码开发, urls.py 路由中访问路径代码如下: urlpatterns [path(reportmanagement/<int:pk>/, views.ReportManagementDetail.as_view(), namereport-management-detail),] 对应view视图中代码如下: class ReportManagementDetail(GenericAPIView):"…

μC/OS-II---Task管理2(os_task.c)

目录 改变Task优先级Task挂起Task恢复Task信息获取Task调度器上锁&#xff08;os_core.c&#xff09;Task调度器开锁&#xff08;os_core.c&#xff09; 改变Task优先级 #if OS_TASK_CHANGE_PRIO_EN > 0u INT8U OSTaskChangePrio (INT8U oldprio,INT8U newprio) { #if (…

多商家签到打卡奖励免单霸王餐小程序开发

多商家签到打卡奖励免单霸王餐小程序开发 用户注册和登录&#xff1a;提供用户注册和登录功能&#xff0c;以便用户能够参与签到打卡活动。 商家入驻&#xff1a;商家可申请入驻平台&#xff0c;提交相关资料并等待平台审核&#xff0c;审核通过后即可发布活动和奖励。 签到打…

【SSH】SSH异常处理思路

1.介绍 SSH&#xff08;Secure Shell&#xff09;是一种加密的网络协议&#xff0c;用于安全地远程连接到服务器或其他计算设备。它提供了加密的通信信道&#xff0c;以防止敏感信息被窃听或篡改。SSH支持多种身份验证方法&#xff0c;其中之一是密码身份验证。 密码登录是最常…

.one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复

导言&#xff1a; 随着科技的不断发展&#xff0c;网络犯罪也在不断进化&#xff0c;.one4-V-XXXXXXXX勒索病毒作为其中的一种威胁&#xff0c;对个人和企业的数据安全构成了巨大的风险。本文将深入介绍.one4-V-XXXXXXXX勒索病毒的特点、详细的数据恢复方法&#xff0c;以及全…

Mysql 8.0 实现分组后获取组内极值算法 broup by

Mysql 8 中无法用低版本的 二次子查询实现&#xff0c;把数据集升序排列后&#xff0c;再外层做group By分组&#xff0c;取出第一条的方式。 因此引入了一个新函数&#xff0c;自动生成行序列&#xff0c;并且行序列按照指定字段分组后再根据自定字段进行排列原理如下 goupb…

相机通用类之LMI激光三角相机(3D),软触发硬触发(飞拍),并输出halcon格式对象

//在此之前可以先浏览我编写的通用上位机类&#xff0c;更方便理解 https://blog.csdn.net/m0_51559565/article/details/134403745最近完成一个关于LMI激光三角&#xff08;3D相机&#xff09;采图的demo&#xff0c;记录并说明用法。 先上代码。 using Lmi3d.GoSdk; using L…

使用FFmpeg转封装为hls(m3u8)流

​ 改造ffmpeg/doc/examples/remuxing.c&#xff0c;支持将输入流转封装为hls协议对应的github地址&#xff1a;GitHub - yagerfgcs/FFmpeg at examples/remuxing_support_hls修改点&#xff1a;增加设置hls头 // example:https://www.ffmpeg.org/ffmpeg-all.html#hls-2 // f…

c语言数据结构---三叉树

#include<stdio.h> #include<stdlib.h> #include<stack> using namespace std; typedef struct node{struct node*lchild;struct node*rchild;struct node*parent;char data; }Node,*Bit;Bit creat(){//先序创建 char b; int t; scanf("%c",&…

(个人实测保熟)记录Tecnomatix Process Simulate 16.1.2官方安装包及授权许可配置教程(Win10环境)

Tecnomatix Process Simulate 16是一款由西门子公司推出的一款工艺仿真解决方案,是虚拟制造仿真领域的领先解决方案,可帮助您数字化制造以及将创新思想和原材料转变为变革性产品的过程。在网上找了一些盗版的安装包&#xff0c;就很离谱。直接提示本"无法打开此安装程序包…

c语言数据结构---十字链表

#include<stdio.h> #include<stdlib.h> typedef struct node{//十字链表 输入三元组返回矩阵 int row,col,val;struct node *down,*right; }JD,*J; typedef struct {J *rhead,*chead;int mu,nu,tu;//行列非0元 }CS; CS creat(CS M){int m,n,t;;int k,j,e;JD *p,*q…

Elasticsearch和sboot整合

Elasticsearch是一个开源的、高性能的分布式搜索引擎&#xff0c;可以实现全文搜索、分析和存储等功能。Spring Boot是一个开源的Java框架&#xff0c;可以用于快速开发和部署应用程序。 将Elasticsearch和Spring Boot整合可以使得我们更加方便地使用Elasticsearch进行搜索和数…