Hive-生产常用操作-表操作和数据处理技巧-202404

2024-04-10 13:44

本文主要是介绍Hive-生产常用操作-表操作和数据处理技巧-202404,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

hive语句操作

        我这个只涉及到hive的对表的操作,包括建表,建分区表,加载数据,导出数据,查询数据,删除数据,插入数据,以及对hive分区表的操作,包括查看分区,添加分区,分区名修改,分区数据修改,删除分区等。

        复杂的聚合函数以及常用的炸裂函数的应用,行转列在这是没有体现出来的,后边有时间结合业务我再来写吧。

        基本我都是在hue上对hive进行操作,仅限于查查表,改改数据,而复杂的处理逻辑基本是使用spark写算法,调sparksql,或者sparkcore来实现的。

        这个整理的文章算一个笔记索引吧,忘了再来看看

时间:20240409

hive创建表

CREATE TABLE IF NOT EXISTS my_table (id INT COMMENT '唯一标识符',name STRING COMMENT '姓名',age INT COMMENT '年龄',salary DOUBLE COMMENT '薪水',address STRING COMMENT '地址'
)
COMMENT '示例表'
PARTITIONED BY (year INT COMMENT '年份', month INT COMMENT '月份')
STORED AS PARQUET;

hive查看建表语句

SHOW CREATE TABLE my_table;

hive复制表结构

-- hive建表结构
-- 创建一个新表,并命名为new_table
-- 使用SELECT语句从现有表existing_table中选择所有数据,并将其作为新表的内容,
-- 由于只是想复制现有表的结构,而不复制数据,使用WHERE子句中的条件1=0,确保不复制任何记录
CREATE TABLE new_table
AS
SELECT *
FROM existing_table
WHERE 1=0;

hive创建分区表

--hive创建一级分区表
create table if not exists part1(
id int,
name string
)
partitioned by (dt string) row format delimited fields terminated by ' ';

hive创建分区别及加载数据

--建表
create table if not exists part2(
id int,
name string
)
partitioned by (year int,month int) row format delimited fields terminated by ' ';
--hive加载数据
load data local inpath '/home/hivedata/t1' overwrite into  table part2 partition(year=2019,month=9);
load data local inpath '/home/hivedata/t' overwrite into  table part2 partition(year=2019,month=10);

hive导出数据

--hive导出数据
--使用Hive的INSERT OVERWRITE语句将数据导出到HDFS目录:
INSERT OVERWRITE DIRECTORY '/path/to/output'
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
SELECT *
FROM your_table;

hive查询数据

--hive查询数据的逻辑及使用顺序
SELECT columns
FROM table_name
WHERE condition
GROUP BY columns
HAVING condition
ORDER BY columns
LIMIT n;

hive向某表插入数据

--hive插入数据
-- 向employees表插入一条新员工记录
INSERT INTO TABLE employees
VALUES (1, 'John Doe', 6000);

hive更新某表某条数据

--hive更新数据
-- 将工资低于5000的员工工资增加10%
UPDATE employees
SET salary = salary * 1.1
WHERE salary < 5000;

hive删除数据

--hive删除数据
-- 删除employees表中离职员工的记录
DELETE FROM employees
WHERE status = '离职';

hive分区操作

hive查看表分区

--hive查看分区
show partitions 表名;

hive添加分区

alter table part1 add partition(dt='2019-09-10');
alter table part1 add partition(dt='2019-09-13') partition(dt='2019-09-12');
alter table part1 add partition(dt='2019-09-11') location  '/user/hive/warehouse/qf1704.db/part1/dt=2019-09';

 hive分区名称修改

alter table part1 partition(dt='2019-09-10') rename to partition(dt='2019-09-14');
ALTER TABLE table1 PARTITION (dt='2023-01-01') RENAME TO PARTITION (dt='2024-04-01');

修改hive分区数据

        其实我整个博客的核心就是这块,前边的不过是顺手整理的,因为实际中有一个需求就是将hive某时间分区下的数据改了。emmmmm~

--修改Hive表中分区字段为'2024-04-01'且字段'a1'为'2021-01-01'的数据,将'a1'中数据为'2021-01-01'改为'2022-01-01'
UPDATE table1 SET a1 = '2022-01-01' WHERE dt = '2024-04-01' AND a1 = '2021-01-01';

hive删除分区

--hive删除分区
alter table part1 drop partition(dt='2019-09-14');
alter table part1 drop partition(dt='2019-09-12'),partition(dt='2019-09-13');

这篇关于Hive-生产常用操作-表操作和数据处理技巧-202404的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

Python操作PDF文档的主流库使用指南

《Python操作PDF文档的主流库使用指南》PDF因其跨平台、格式固定的特性成为文档交换的标准,然而,由于其复杂的内部结构,程序化操作PDF一直是个挑战,本文主要为大家整理了Python操作PD... 目录一、 基础操作1.PyPDF2 (及其继任者 pypdf)2.PyMuPDF / fitz3.Fre

Python对接支付宝支付之使用AliPay实现的详细操作指南

《Python对接支付宝支付之使用AliPay实现的详细操作指南》支付宝没有提供PythonSDK,但是强大的github就有提供python-alipay-sdk,封装里很多复杂操作,使用这个我们就... 目录一、引言二、准备工作2.1 支付宝开放平台入驻与应用创建2.2 密钥生成与配置2.3 安装ali

MySQL 强制使用特定索引的操作

《MySQL强制使用特定索引的操作》MySQL可通过FORCEINDEX、USEINDEX等语法强制查询使用特定索引,但优化器可能不采纳,需结合EXPLAIN分析执行计划,避免性能下降,注意版本差异... 目录1. 使用FORCE INDEX语法2. 使用USE INDEX语法3. 使用IGNORE IND

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

游戏闪退弹窗提示找不到storm.dll文件怎么办? Stormdll文件损坏修复技巧

《游戏闪退弹窗提示找不到storm.dll文件怎么办?Stormdll文件损坏修复技巧》DLL文件丢失或损坏会导致软件无法正常运行,例如我们在电脑上运行软件或游戏时会得到以下提示:storm.dll... 很多玩家在打开游戏时,突然弹出“找不到storm.dll文件”的提示框,随后游戏直接闪退,这通常是由于

Python使用openpyxl读取Excel的操作详解

《Python使用openpyxl读取Excel的操作详解》本文介绍了使用Python的openpyxl库进行Excel文件的创建、读写、数据操作、工作簿与工作表管理,包括创建工作簿、加载工作簿、操作... 目录1 概述1.1 图示1.2 安装第三方库2 工作簿 workbook2.1 创建:Workboo

MySQL字符串常用函数详解

《MySQL字符串常用函数详解》本文给大家介绍MySQL字符串常用函数,本文结合实例代码给大家介绍的非常详细,对大家学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql字符串常用函数一、获取二、大小写转换三、拼接四、截取五、比较、反转、替换六、去空白、填充MySQL字符串常用函数一、