Azure Databricks 集群合并小文件与删除过多的历史版本

原因是:databricks 集群的数据底层是HDFS虽然是spark做为引擎读写如果没有及时合并也一样会因为小文件问题造成大量的资源消耗,也就会越来越慢。目前采用的主要方式,定时合并,与版本删除

1、python 脚本如下有用到的同学可以参考下

bash 复制代码
# 合并
for database_name in database_list:
    sqlQueryShowTables = "SHOW TABLES FROM {0}".format(database_name)
    tablesDF = spark.sql(sqlQueryShowTables).collect()

    for table in tablesDF:
        sqlOptimizeTable = "OPTIMIZE {0}.{1}".format(database_name, table['tableName'])
        try:
            spark.sql(sqlOptimizeTable)
            print("INFO: Optimize table {0}.{1} completed.".format(database_name, table['tableName']))
        except Exception as e:
            print("ERROR: Optimize table {0}.{1} failed.".format(database_name, table['tableName']))
bash 复制代码
# 删除多的版本
for database_name in database_list:
    sqlQueryShowTables = "SHOW TABLES FROM {0}".format(database_name)
    tablesDF = spark.sql(sqlQueryShowTables).collect()

    for table in tablesDF:
        sqlVACUUMTable = "VACUUM {0}.{1} RETAIN 168 HOURS".format(database_name, table['tableName'])
        try:
            spark.sql(sqlVACUUMTable)
            print("INFO: VACUUM table {0}.{1} completed.".format(database_name, table['tableName']))
        except Exception as e:
            print("ERROR: VACUUM table {0}.{1} failed.".format(database_name, table['tableName']))

2、在workflows 设置好定时器就行了,

相关推荐
学习星球12 小时前
2026 AI游戏开发实战指南:从NVIDIA ACE到Summer Engine,AI如何重塑游戏开发
人工智能·microsoft
cd_9492172118 小时前
具身大脑成机器人产业核心底座,星源智技术落地与产业布局解析
人工智能·microsoft·机器人
编码者卢布19 小时前
【Azure Developer】通过 API 获取 Azure VM 信息实践指南 Part 2(Azure China)
python·flask·azure
星云API|微信接口开发19 小时前
企业微信二次开发:企业微信外部群机器人怎么做?从群消息接收到事件处理
microsoft·机器人·企业微信
Wang's Blog2 天前
Vibe Coding一人即团队系列11: 提示词三大核心角色 (System, User, Assistant) 详解与应用实战
microsoft
曹牧2 天前
C#与Java后台交互
java·windows·microsoft·c#
HwJack202 天前
鸿蒙 Accessibility Kit 全景解析:无障碍开发从哪里下手
microsoft·华为·harmonyos
智能运维指南2 天前
Confluence 停服、数据出境、知识散落:企业知识管理系统如何破局?
大数据·人工智能·microsoft
Data_Journal2 天前
Playwright vs Selenium:哪个是最佳无头浏览器
开发语言·python·scrapy·microsoft·编辑器
小鹿软件办公3 天前
因用户频繁误触,微软 Windows 11 正式移除拖拽托盘功能
microsoft·windows托盘功能