花开不停 花开不停
首页
  • 追忆杂谈
  • 书信往来
  • 旅行记录
  • 文定之喜
  • 黄金屋-颜如玉
  • 程序化广告
  • 禅茶一味
  • 随写编年
  • 家人物语
  • 追忆青春
  • 大千世界
  • Shell
  • Java
  • Spark
  • Hadoop
  • ClickHouse
  • MySQL
  • PostgreSQL
  • MongoDB
  • 调度器
  • Zookeeper
  • Kafka
  • Flume
  • 学习周刊
  • 关于
  • 本站部署
  • 分类
  • 标签
  • 归档
开往 (opens new window)

花开不停

此心光明,亦复何言
首页
  • 追忆杂谈
  • 书信往来
  • 旅行记录
  • 文定之喜
  • 黄金屋-颜如玉
  • 程序化广告
  • 禅茶一味
  • 随写编年
  • 家人物语
  • 追忆青春
  • 大千世界
  • Shell
  • Java
  • Spark
  • Hadoop
  • ClickHouse
  • MySQL
  • PostgreSQL
  • MongoDB
  • 调度器
  • Zookeeper
  • Kafka
  • Flume
  • 学习周刊
  • 关于
  • 本站部署
  • 分类
  • 标签
  • 归档
开往 (opens new window)
  • Shell编程

  • Java编程笔记

  • Spark

  • Hadoop

  • ClickHouse

  • MySQL

  • PostgreSQL

  • MongoDB

  • 调度器

    • XXL-JOB
    • DolphinScheduler

      • 分布式部署 DolphinScheduler
      • Dolphinschedul集成COS异常
      • DolphinScheduler 页面卡顿问题
      • 调度Hive定时删除30天之前的分区
        • 1. 背景
        • 2. 目的
        • 3. 步骤概述
        • 4. 编写Hive SQL语句
        • 5. 在DolphinScheduler中配置任务
          • 5.1 创建Hive SQL任务
          • 5.2 设置动态参数
          • 5.3 计划任务执行
        • 6. 测试和验证
        • 7. 注意事项
      • Dolphin+XXL-JOB监控Hadoop任务执行结果量级
  • Zookeeper

  • Kafka

  • Flume

  • 编程世界
  • 调度器
  • DolphinScheduler
花开不停
2026-01-04
目录

调度Hive定时删除30天之前的分区原创

# 1. 背景

在大数据项目中,经常会遇到需要定时删除Hive表中的分区数据的情况。例如,某些日志或临时数据的存储可能会随着时间的推移而变得庞大,占用大量的存储空间。为了管理这些数据并释放磁盘空间,通常都是写Hive脚本通过Shell执行。

本教程将使用调度器(如Apache DolphinScheduler)来定期执行删除操作。

# 2. 目的

本教程旨在指导如何配置和使用DolphinScheduler来自动删除Hive表中30天之前的分区数据。通过这种方式,可以有效地管理和优化Hadoop集群的存储资源。

# 3. 步骤概述

  • 步骤一:创建Hive SQL任务以删除指定分区的旧数据。
  • 步骤二:设置DolphinScheduler的任务计划,确保每天运行一次该SQL任务。

# 4. 编写Hive SQL语句

首先,你需要创建一个Hive SQL查询,用于识别和删除那些超过30天的分区。以下是一个示例SQL语句,它展示了如何选择并删除特定Hive表的旧分区:

USE your_database;
ALTER TABLE your_table DROP IF EXISTS PARTITION (partition_column<='${old_value}');
1
2

在上面的SQL中,your_database是你的数据库名,your_table是你想要清理分区的表名。你需要将partition_column替换为你的分区列的名称(例如:日期),并且${old_value}是一个动态值,它将由DolphinScheduler在运行时提供。

# 5. 在DolphinScheduler中配置任务

# 5.1 创建Hive SQL任务

  • 进入DolphinScheduler的Web界面。
  • 在左侧菜单中选择“工作流定义”> “新建”。
  • 选择“SQL任务”,并填写任务的详细信息,包括你的Hive SQL语句(使用上面编写的SQL)。

# 5.2 设置动态参数

为了使${old_value}能够根据当前日期自动计算30天前的值,你可以在DolphinScheduler的任务配置中设置一个变量:

old_value IN DATE ${yyyy-MM-dd}
1

然后在你的Hive SQL任务中使用这个变量。

# 5.3 计划任务执行

  • 在同一个工作流程编辑页面,点击“调度策略”标签页。
  • 设置定时器以每天运行一次此任务。例如,可以设置为每天凌晨1点执行。

# 6. 测试和验证

完成上述步骤后,你应该能够在设定的时间看到数据被删除。可以通过查询Hive表或检查HDFS上的分区目录来确认操作是否成功。

# 7. 注意事项

  • 确保你有足够的权限去修改Hive

← DolphinScheduler 页面卡顿问题 Dolphin+XXL-JOB监控Hadoop任务执行结果量级→

最近更新
01
Dolphin+XXL-JOB监控Hadoop任务执行结果量级 原创
01-04
02
Java第三方SDK的使用方法 原创
12-16
03
2025-12-12圣诞节序章 原创
12-12
更多文章>
Theme by Vdoing | Copyright © 2023-2026 | 京ICP备2023013437号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式