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

相关推荐
Jasonakeke19 小时前
JDBC 概述
microsoft
yufei-coder2 天前
C# Windows 窗体开发基础
vscode·microsoft·c#·visual studio
山语山2 天前
C语言——文件读写操作
java·c语言·前端·microsoft·visual studio
时光追逐者2 天前
WaterCloud:一套基于.NET 8.0 + LayUI的快速开发框架,完全开源免费!
前端·microsoft·开源·c#·.net·layui·.netcore
DisonTangor3 天前
微软准备了 Windows 11 24H2 ISO “OOBE/BypassNRO“命令依然可用
windows·microsoft
多多*4 天前
OJ在线评测系统 后端 判题机模块预开发 架构分析 使用工厂模式搭建
java·linux·开发语言·前端·数据库·microsoft·架构
MicrosoftReactor4 天前
技术速递|Java on Azure Tooling 8月更新 - Java 体验在 Azure 容器应用程序正式发布
java·容器·azure
Azure DevOps4 天前
Azure DevOps Server:不能指派新增的用户
运维·microsoft·flask·azure·devops
Monee..4 天前
【azure-openai】批量翻译demo【python】【gradio】
python·azure·gradio
爱码小白5 天前
python程序操作Windows系统中的软件如word等(是否可以成功操作待验证)
microsoft