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")
相关推荐
金融小师妹2 小时前
AI趋势识别:黄仁勋宣布“AGI时代”到来,Astra能力跃迁背后的AI安全边界
大数据·python·深度学习·重构·逻辑回归
IT研究室7 小时前
最新大数据毕业设计选题推荐-基于大数据的城市交通流量数据可视化分析-大数据-Spark-Hadoop-Bigdata
大数据·信息可视化·课程设计
面向Google编程7 小时前
Apache Iceberg Variant 类型:v3 半结构化数据不再「二选一」
大数据·后端
大大大大晴天8 小时前
从数仓建模到 AI 数据底座:重新理解数据治理的位置
大数据
IT大白鼠9 小时前
MySQL 分布式集群系列 · 第四篇——实操部署指南:从零搭建生产级 MySQL NDB 集群
数据库·分布式·mysql
不会写代码的女程序猿9 小时前
中小康养门店选型参考|明理 AI 四诊仪场景适配与投入回报分析
大数据·人工智能·科技·ai·健康医疗
IT大白鼠9 小时前
MySQL 分布式集群系列 · 第三篇——核心原理精讲:NDB 自动分片、多主写入与数据同步
数据库·分布式·mysql
云泽8089 小时前
Git 版本控制系统(下):从 .git 目录结构到冲突解决机制详解
大数据·git·elasticsearch
Elastic 中国社区官方博客9 小时前
教程:使用 ES|QL 进行威胁狩猎
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索·安全威胁分析
weixin_505061459 小时前
原厂技术协同|世强硬创携手星坤连接解锁 IOTE 高可靠互连解决方案
大数据