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")
相关推荐
java水泥工3 小时前
基于Echarts+HTML5可视化数据大屏展示-物流大数据展示
大数据·前端·echarts·html5·可视化大屏
paperxie_xiexuo3 小时前
学术与职场演示文稿的结构化生成机制探析:基于 PaperXie AI PPT 功能的流程解构与适用性研究
大数据·数据库·人工智能·powerpoint
汤姆yu4 小时前
基于大数据的出行方式推荐系统
大数据·出行方式推荐
bigdata-rookie4 小时前
Spark 部署模式
大数据·分布式·spark
芝麻开门-新起点4 小时前
贝壳GIS数据存储与房屋3D展示技术解析
大数据
玖日大大5 小时前
Gemini 3 全维度技术解析:从认知到落地实战指南
大数据
蒋士峰DBA修行之路6 小时前
实验二十二 GaussDB分布式场景调优
分布式·gaussdb
little_xianzhong8 小时前
把一个本地项目导入gitee创建的仓库中
大数据·elasticsearch·gitee
青靴9 小时前
轻量级 CI/CD 实战(三):Kafka消费者Docker容器化部署
分布式·docker·kafka