大数据
未读
shuffle 算子不一定需要 shuffle
一、Dependency Spark RDD五大属性之一的:依赖列表(Dependency),不仅描述父子 RDD 的血缘关系,更关键描述了父子 RDD 的partitions之间的关系。同时也是判断是否需要划分stage的关键,而stage的划分一定伴随着shuffle spark 的依赖通过抽象
大数据
未读
三年 Sparker 都不一定知道的算子内幕
一、如何在 mapPartitions 中释放资源 mapPartitions是一种对每个分区进行操作的转换操作,于常用的map操作类似,但它处理的是整个分区而不是单个元素。mapPartitions的应用场景适合处理需要在每个分区内批量处理数据的场景,通常用于优化性能和减少计算开销。例如:减少数据
SparkSQL-优雅地行列转换
行列转换是数据处理与分析中的关键操作,它能够将数据的结构从行转为列,或从列转为行。这种转换不仅简化了复杂的数据展示,还提升了数据分析的效率。在业务场景中,行列转换常用于报表生成、数据透视和多维度数据分析,通过更直观的方式呈现数据,帮助管理者快速获取关键信息。此外,它还能有效减少数据冗余,优化查询性能
ClickHouse-Kafka Engine 的正确使用方式
Kafka 是大数据领域非常流行的一款分布式消息中间件,是实时计算中必不可少的一环,同时一款 OLAP 系统能否对接 Kafka 也算是考量是否具备流批一体的衡量指标之一。ClickHouse 的 Kafka 表引擎能够直接与 Kafka 系统对接,进而订阅 Kafka 中的 Topic 并实时接受
HQL-计算不一样的 MUV
MUV-每月独立访客数(Monthly Unique Visitors),用来衡量在一个月内访问应用的不重复用户总数,这个指标有助于了解应用的用户基础规模和覆盖范围。 一、问题引入 在只考虑这个指标本身计算起来是很简单的,例如用户登录表为user_logins select
count(d
大数据
未读
FastGID-快速计算 grouping__id
本文的前置章节 hive高阶聚合,在这篇文章中详细介绍了 hive/spark sql 的高阶聚合在多层级聚合场景的应用。相信在带来效率提升的同时也会有一个烦恼,那就是 grouping__id 的计算。对于博主所在公司的中台同时存在 hive2.1 和 spark 3.0 两种引擎,上篇介绍到新老
Hive-因精度丢失导致的 join 数据异常
一、问题复现 不知你是否遇到过 join 结果明显不匹配的情况,例如on t1.join_key = t2.join_key中两个join_key明显不相等,但 join 的结果却将其匹配在一起。今日博主在通过用户 id 关联获取用户信息时发现一个用户 id 可以在用户维表中匹配出若干条(用户维表不
TTL——管理 clickhouse 数据的生命周期
随着时间的推移,clickhouse 中的数据逐步增长。为了查询、存储效率的提升我们可能需要计划性删除、移动或聚合历史数据。针对此类数据生命周期管理,clickhouse 提供了简单且强大的工具——TTL,该工具作用于 DDL 子句中。这篇文章将探索 TTL 以及如何使用它来解决多种数据管理任务。
从 Hadoop 到云原生,大数据平台如何做存算分离
本文的理论思想来源于 JuiceFs 社区的一篇文章《从 Hadoop 到云原生,大数据平台如何做存算分离》,本文分为理论+实践两个部分,理论部分是对社区文章的总结、实践部分则是对理论的落地探索企业对 hadoop 生态的改造 一、大数据平台如何做存算分离 1.1 hadoop 存算耦合架构回顾 h
ClickHouse 删除操作
OLAP 数据库设计的宗旨在于分析适合一次插入多次查询的业务场景,市面上成熟的 AP 数据库在更新和删除操作上支持的均不是很好,当然 clickhouse 也不例外。但是不友好不代表不支持,本文主要介绍在 clickhouse 中如何实现数据的删除,以及最新版本中 clickhouse 所做的一些技