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 设置好定时器就行了,

相关推荐
武藤一雄6 分钟前
C#:nameof 运算符全指南
开发语言·microsoft·c#·.net·.netcore
七夜zippoe1 小时前
OpenClaw 接入 Telegram:BotFather 实战
microsoft·ngrok·telegram·openclaw·botfather
小妖同学学AI2 小时前
微软开源多智能体协作框架AutoGen:像组建公司一样,打造会“开会”的AI团队
人工智能·microsoft·开源
golang学习记2 小时前
VS Code 1.113 发布:Agent 与 Chat 体验全面升级!
vscode·microsoft
公子小六2 小时前
基于.NET的Windows窗体编程之WinForms控件简介
windows·microsoft·c#·.net
武藤一雄4 小时前
C# 核心技术解析:Parse vs TryParse 实战指南
开发语言·windows·microsoft·微软·c#·.netcore
大强同学4 小时前
亲身测评 Web Access 改写 AI 联网使用体验
人工智能·windows·microsoft·ai编程
一只自律的鸡6 小时前
【Linux系统编程】信号 令牌桶算法实例/多任务计时器/信号集/信号屏蔽字/pending
microsoft
宝桥南山6 小时前
GitHub Copilot - 可以使用Local, Copilot CLI, Cloud等不同方式来运行agent tasks
microsoft·微软·github·aigc·copilot·ai编程
牢七7 小时前
白盒123
linux·windows·microsoft