欢迎关注大数据技术架构与案例微信公众号:过往记忆大数据
过往记忆博客公众号iteblog_hadoop
欢迎关注微信公众号:
过往记忆大数据

 分类:Spark

Apache Iceberg 小文件合并

Apache Iceberg 小文件合并
在 《一条数据在 Apache Iceberg 之旅:写过程分析》 这篇文章中我们分析了 Apache Iceberg 写数据的源码。如下是我们使用 Spark 写两次数据到 Iceberg 表的数据目录布局(测试代码在 这里):[code lang="bash"]/data/hive/warehouse/default.db/iteblog├── data│   └── ts_year=2020│   ├── id_bucket=0│   │   ├── 00000-0-19603f5a-d38a

w397090770   4天前 67℃ 0评论3喜欢

一条数据在 Apache Iceberg 之旅:写过程分析

一条数据在 Apache Iceberg 之旅:写过程分析
本文基于 Apache Iceberg 0.9.0 最新分支,主要分析 Apache Iceberg 中使用 Spark 2.4.6 来写数据到 Iceberg 表中,也就是对应 iceberg-spark2 模块。当然,Apache Iceberg 也支持 Flink 来读写 Iceberg 表,其底层逻辑也 Spark 类似,感兴趣的同学可以去看看。使用 Spark2 将数据写到 Apache Iceberg在介绍下面文章之前,我们先来看下在 Apache Spark 2.4.6 中写数

w397090770   2周前 (11-12) 239℃ 0评论2喜欢

Apache Spark 中支持的七种 Join 类型

Apache Spark 中支持的七种 Join 类型
数据分析中将两个数据集进行 Join 操作是很常见的场景。我在 这篇 文章中介绍了 Spark 支持的五种 Join 策略,本文我将给大家介绍一下 Apache Spark 中支持的 Join 类型(Join Type)。目前 Apache Spark 3.0 版本中,一共支持以下七种 Join 类型:INNER JOINCROSS JOINLEFT OUTER JOINRIGHT OUTER JOINFULL OUTER JOINLEFT SEMI JOINLEFT ANTI JOIN在实现上

w397090770   4周前 (10-25) 306℃ 0评论1喜欢

深入理解 Delta Lake 的 DML 实现原理 (Update, Delete, Merge)

深入理解 Delta Lake 的 DML 实现原理 (Update, Delete, Merge)
深入理解 Apache Spark Delta Lake 的事务日志 深入理解 Delta Lake:Schema Enforcement & Evolution深入理解 Delta Lake 的 DML 实现原理 (Update, Delete, Merge)Delta Lake 支持 DML 命令,包括 DELETE, UPDATE, 以及 MERGE,这些命令简化了 CDC、审计、治理以及 GDPR/CCPA 工作流等业务场景。在这篇文章中,我们将演示如何使用这些 DML 命令,并会介绍这些命令的

w397090770   1个月前 (10-12) 320℃ 0评论0喜欢

Apache Iceberg 代码调试技巧

Apache Iceberg 代码调试技巧
当前数据湖方向非常热门,市面上也出现了三款开源的数据湖产品:Delta Lake、Apache Hudi 以及 Apache Iceberg。这段时间抽了点时间看了下使用 Apache Spark 读写 Apache Iceberg 的代码。完全看代码肯定有些吃力,所以使用了代码调试功能。由于 Apache Iceberg 支持 Apache Spark 2.x 以及 3.x,并在创建了不同的模块。其相当于 Spark 的 Connect。Apache Spa

w397090770   2个月前 (10-04) 110℃ 0评论1喜欢

Spark Join Hints 简介及使用

Spark Join Hints 简介及使用
当前 Spark 计算引擎能够利用一些统计信息选择合适的 Join 策略(关于 Spark 支持的 Join 策略可以参见每个 Spark 工程师都应该知道的五种 Join 策略),但是由于各种原因,比如统计信息缺失、统计信息不准确等原因,Spark 给我们选择的 Join 策略不是正确的,这时候我们就可以人为“干涉”,Spark 从 2.2.0 版本开始(参见SPARK-16475),支

w397090770   2个月前 (09-15) 521℃ 0评论3喜欢

每个 Spark 工程师都应该知道的五种 Join 策略

每个 Spark 工程师都应该知道的五种 Join 策略
数据分析中将两个数据集进行 Join 操作是很常见的场景。在 Spark 的物理计划(physical plan)阶段,Spark 的 JoinSelection 类会根据 Join hints 策略、Join 表的大小、 Join 是等值 Join(equi-join) 还是不等值(non-equi-joins)以及参与 Join 的 key 是否可以排序等条件来选择最终的 Join 策略(join strategies),最后 Spark 会利用选择好的 Join 策略执行最

w397090770   2个月前 (09-13) 1004℃ 0评论7喜欢

深入理解 Delta Lake:Schema Enforcement & Evolution

深入理解 Delta Lake:Schema Enforcement & Evolution
深入理解 Apache Spark Delta Lake 的事务日志 深入理解 Delta Lake:Schema Enforcement & Evolution深入理解 Delta Lake 的 DML 实现原理 (Update, Delete, Merge)在实践经验中,我们知道数据总是在不断演变和增长,我们对于这个世界的心智模型必须要适应新的数据,甚至要应对我们从前未知的知识维度。表的 schema 其实和这种心智模型并没什么不同

w397090770   2个月前 (09-12) 93℃ 0评论0喜欢

Apache Spark 3.0 第一个稳定版发布,终于可以在生产环境中使用啦!

Apache Spark 3.0 第一个稳定版发布,终于可以在生产环境中使用啦!
Apache Spark 3.0.0 正式版是2020年6月18日发布的,其为我们带来大量新功能,很多功能加快了数据的计算速度。但是遗憾的是,这个版本并非稳定版。不过就在昨天,Apache Spark 3.0.1 版本悄悄发布了(好像没看到邮件通知)!值得大家高兴的是,这个版本是稳定版,官方推荐所有 3.0 的用户升级到这个版本。Apache Spark 3.0 增加了很多

w397090770   2个月前 (09-10) 580℃ 0评论0喜欢

Spark on Yarn: 你设置的内存都去哪里了?

Spark on Yarn: 你设置的内存都去哪里了?
Efficient processing of big data, especially with Spark, is really all about how much memory one can afford, or how efficient use one can make of the limited amount of available memory. Efficient memory utilization, however, is not what one can take for granted with default configuration shipped with Spark and Yarn. Rather, it takes very careful provisioning and tuning to get as much as possible from the bare metal. In this post I’ll

w397090770   3个月前 (09-09) 20℃ 0评论0喜欢