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")
相关推荐
v***5653 小时前
PostgreSQL 中进行数据导入和导出
大数据·数据库·postgresql
KG_LLM图谱增强大模型6 小时前
Vgent:基于图的多模态检索推理增强生成框架GraphRAG,突破长视频理解瓶颈
大数据·人工智能·算法·大模型·知识图谱·多模态
一只小青团6 小时前
Hadoop之MapReduce
大数据·hadoop·mapreduce
电商API_180079052477 小时前
淘宝商品详情 API 性能优化秘籍:QPS 提升 5 倍的技术方案
大数据·性能优化·数据挖掘·数据分析·网络爬虫
t***26597 小时前
【大数据】MySQL与Elasticsearch的对比分析:如何选择适合的查询解决方案
大数据·mysql·elasticsearch
攻心的子乐7 小时前
redis分布式锁 多节点部署项目 Redisson 来做分布式锁
数据库·redis·分布式
q***T5837 小时前
后端分布式缓存预热,提高缓存命中率
分布式·缓存
没有bug.的程序员7 小时前
Spring 全家桶在大型项目的最佳实践总结
java·开发语言·spring boot·分布式·后端·spring
q***72568 小时前
【分布式文件存储系统Minio】2024.12保姆级教程
分布式
阳爱铭9 小时前
ClickHouse 中至关重要的两类复制表引擎——ReplicatedMergeTree和 ReplicatedReplacingMergeTree
大数据·hive·hadoop·sql·clickhouse·spark·hbase