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")
相关推荐
roman_日积跬步-终至千里26 分钟前
【AI Engineering】Should I build this AI application?—AI应用决策框架与实践指南
大数据·人工智能
DolphinScheduler社区1 小时前
图解 Apache DolphinScheduler 如何配置飞书告警
java·大数据·开源·飞书·告警·任务调度·海豚调度
回家路上绕了弯1 小时前
日增千万数据:数据库表设计与高效插入存储方案
分布式·后端
Code_Artist1 小时前
robfig/cron定时任务库快速入门
分布式·后端·go
稚辉君.MCA_P8_Java1 小时前
通义千问 SpringBoot 性能优化全景设计(面向 Java 开发者)
大数据·hadoop·spring boot·分布式·架构
SeaTunnel1 小时前
Apache SeaTunnel 如何将 CDC 数据流转换为 Append-Only 模式?
大数据·开源·apache·开发者·seatunnel·转换插件
万山y1 小时前
git remote add做了什么
大数据·git·elasticsearch
百度Geek说2 小时前
百度大数据成本治理实践
hadoop·spark
六边形架构2 小时前
别再盲目地堆砌技术了!大部份大数据项目的失败,都是因为架构设计没做对!
大数据·系统架构
驾数者3 小时前
DDL实战指南:如何定义和管理动态表
大数据·sql·flink