Spark streaming写入delta数据湖问题

问题1 一个batch运行时间过长

检查发现问题出现在merge写文件时间过长,一个batch本来应该是控制在1min。但项目上线到生产环境,检查spark streaming的job,发现数据在merge写入到数据湖时,往往超过1小时。继续排查,发现是一张表往往出现几百个小文件,影响数据写性能,故每天进行小文件合并操作。

  • . 优化小文件问题:

    sql 复制代码
    optimize delta.`dbfs:/your_mount_path/` 
  • 增加分区:

    python 复制代码
    df = spark.read.format('delta').load("abfs:/your_history_path")
    df = df.withColumn('CDC_DATE', df['cdc_timestamp'].cast('date'))
    df.write.partitionBy('CDC_DATE').mode('overwrite').option('overwriteSchema', 'true').format('delta').save("abfs:/your_partitioin_path")
相关推荐
workflower2 小时前
使用大语言模型处理用户需求
大数据·人工智能·设计模式·重构·动态规划
AC赳赳老秦6 小时前
OpenClaw+Power Apps 实战:自动生成 Power Apps 应用、连接 Excel 数据源
大数据·开发语言·python·serverless·excel·deepseek·openclaw
JiaHao汤6 小时前
分布式事务方案全景:从理论到 Seata 落地
java·分布式·spring·spring cloud
keke.shengfengpolang7 小时前
数据科学与大数据技术和大数据管理与应用怎么抉择?
大数据
产业家8 小时前
AI长跑,来到了腾讯的主场
大数据·人工智能
小赖同学啊8 小时前
可信数据空间中异构数据处理与安全保障方案
大数据
HavenlonLabs8 小时前
重塑链上未来的隐形基石:长期主义下的生态演进
大数据·人工智能·安全·区块链
南部余额8 小时前
RabbitMQ 进阶:延迟队列完全指南
java·分布式·spring·rabbitmq
huangdong_8 小时前
京东商品图片视频批量下载与m3u8视频合并技术完整实现方案
大数据·前端·数据库
Java 码思客8 小时前
【ElasticSearch从入门到架构师】第9章:ES 读写底层流程深度拆解
大数据·elasticsearch·搜索引擎