前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hive 删库跑路

Hive 删库跑路

作者头像
披头
发布2023-09-23 08:50:15
1740
发布2023-09-23 08:50:15
举报
文章被收录于专栏:datartisandatartisan

“删库跑路”作为一种历史悠久、后果严重的公司资产损坏事故,一旦发生,后果难以估量,轻则业务短时间不可用,重则公司倒闭关门,甚至有人为此坐牢。已经发生的事件历历在目,希望大家引以为戒。

在实际工作中,诸如删除表数据、删除表乃至删除数据库等操作都较为常见,尤其是在测试和发布环境中。作为数据工程师,我们要注意掌握以下 Hive DDL 操作方法,并在生产环境中谨慎执行:

1. 删除数据库

代码语言:javascript
复制
DROP DATABASE IF EXISTS mydb;

-- 强制删除数据库,级联删除,会递归删除数据库中的所有表及其数据。
DROP DATABASE IF EXISTS mydb CASCADE;

2. 删除表

代码语言:javascript
复制
DROP TABLE ods.ods_xxx_day;

3. 删除表数据

代码语言:javascript
复制
-- 清空表-方法1
TRUNCATE TABLE ods.ods_xxx_day; 

-- 清空表-方法2
INSERT OVERWRITE TABLE ods.ods_xxx_day 
SELECT * FROM ods.ods_xxx_day 
WHERE 1=2;

--  按条件删除部分数据
```sql
INSERT OVERWRITE TABLE ods.ods_xxx_day 
SELECT * FROM ods.ods_xxx_day 
WHERE id > 1000;

4. 删除分区

删除单个分区:(显示指定,ds 为分区列名)

代码语言:javascript
复制
ALTER TABLE ods.ods_xxx_day DROP [IF EXISTS] PARTITION (ds='20230920'); 

删除多个分区:(显示指定)

代码语言:javascript
复制
ALTER TABLE ods.ods_xxx_day DROP [IF EXISTS] PARTITION (ds='20230920', ds='20230921',...);

5. 批量删除分区

删除指定目录下的所有分区:

代码语言:javascript
复制
-- 方法1(目录指定)
ALTER TABLE table_name DROP IF EXISTS PARTITIONS path='/data/my_table/dt=20230920';
-- 方法2(范围指定)
ALTER TABLE table_name DROP [IF EXISTS] PARTITION (ds >= '20230901', ds < '20230920')

以上概括了 Hive 中常见的 DDL 操作,请各位务必注意在生产环境中谨慎操作。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-09-20 22:16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据科学探究 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 删除数据库
  • 2. 删除表
  • 3. 删除表数据
  • 4. 删除分区
  • 5. 批量删除分区
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档