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 小时前
AI Agent 2026:从对话到行动的跃迁
人工智能·microsoft·数据挖掘
勤劳的进取家16 小时前
服务器文件交互方式
运维·服务器·microsoft
飞Link16 小时前
巨头混战医疗 AI!OpenAI、Anthropic 与微软的 Healthcare 助理技术架构对比
人工智能·microsoft·架构
葡萄城技术团队18 小时前
AI没有缓解IT与业务的矛盾,有时反而激化了它
人工智能·microsoft
ChinaAI小童鞋19 小时前
cc-switch 配置:Claude Code 连接 Azure OpenAI
aigc·azure
诺未科技_NovaTech19 小时前
微软生态技术实践:上海诺未全栈数字化与 AI 落地解决方案深度解析
人工智能·microsoft
哥本哈士奇19 小时前
微软 SQL Server 版本演进史:从诞生到 SQL Server 2025
microsoft
QYR-分析19 小时前
全球微型电声元器件行业发展现状、市场机遇及前景分析
microsoft
飞Link1 天前
OpenAI 与微软“非排他性”协议解读:AI 云计算市场将迎来百家争鸣?
人工智能·microsoft·云计算
zandy10112 天前
联想集团:AI创新标杆,定义智能时代企业创新新范式
大数据·人工智能·microsoft·联想