首页
学习
活动
专区
圈层
工具
发布

#spark

Apache Spark是一个开源集群运算框架,Spark使用了存储器内运算技术,能在数据尚未写入硬盘时即在存储器内分析运算。

SparkSQL 之 Hive On Spark 原理分析

starzy

摘要:Hive on Spark 让传统 Hive 数仓跑在 Spark 引擎上。本文从 RSC 远程作业提交机制、HQL 编译 6 步、MR/Tez/Spar...

100

SparkSQL 之序列化问题深度剖析

starzy

摘要:本文从 Spark 三层序列化体系(Task Closure Shuffle Wire Dataset Internal)、四种序列化路径差异、Enc...

2100

SparkSQL 之 DataFrame 与 DataSet 及实操演练

starzy

摘要:从 RDD 到 DataFrame 再到 DataSet,Spark 的 API 经历了三次重大进化。DataFrame = DataSet[Row](有...

5210

SparkSQL 之 JDBC 数据转 DataSet 代码实现

starzy

摘要:JDBC 是连接传统关系型数据库的桥梁。本文从 JDBC 读取三模式(整表/数值分区/自定义Predicate)、并行分区原理、谓词/列裁剪下推、批量写入...

7010

SparkSQL 演变历史分析

starzy

摘要:从 2012 年的 Shark 到 2020 年的 Adaptive Query Execution,SparkSQL 走过了一条从"Hive on Sp...

8610

SparkSQL 之 Parquet 数据转 DataSet 代码实现

starzy

摘要:Parquet 是 Spark 生态中最推荐的列式存储格式——Schema 自描述(零推断)、谓词下推到 Row Group 级别、列式 Vectoriz...

8900

Spark 核心之 Spark 内存管理深度剖析

starzy

摘要:Spark 内存管理是性能调优的核心战场——理解 UnifiedMemoryManager 的 Execution/Storage 动态借用机制、Tung...

10910

Spark 核心之 Shuffle 文件寻址详解

starzy

摘要:Reduce Task 如何找到成百上千个 Map Task 输出的 Shuffle 文件?如何精准定位到目标分区的数据块?本文从 MapOutputTr...

9910

SparkSQL 之普通 RDD 和 DataSet 互操作代码实现

starzy

摘要:RDD 和 Dataset 是 Spark 两大核心抽象,它们之间的互操作是连接"低级 API"与"高级 API"的桥梁。本文从 6 条转换路径、Enco...

7810

SparkSQL 数据源与底层架构深度剖析

starzy

摘要:SparkSQL 作为 Apache Spark 生态中最核心的模块之一,不仅提供了统一的 SQL 查询入口,更承载了 DataFrame/Dataset...

10610

SparkStreaming 之 transform 算子详解及代码实现

starzy

摘要:上一篇讲了 foreachRDD 是"输出操作",这篇讲它的姊妹算子 transform——一个"转换操作",拿到 RDD 处理后返回新 RDD,让流继续...

9110

Spark 核心之 Spark-SortShufflebypass 原理深度剖析

starzy

摘要:BypassMergeSortShuffle 是 SortShuffleManager 提供的最轻量 Shuffle Write 路径——它绕过排序、绕过...

10310

SparkSQL 之 Json 格式数据转 DataSet 代码实现

starzy

摘要:JSON 是数据工程中最常见的半结构化格式,如何高效地将 JSON 转为类型安全的 Dataset[CaseClass]?本文从 spark.read.j...

10310

Spark 核心之 Spark-SortShuffle 原理深度剖析

starzy

摘要:Shuffle 是 Spark 作业中最昂贵的操作,也是性能瓶颈的高发区。Spark 2.0 起 SortShuffleManager 成为唯一的默认实现...

7600

Spark 核心之二次排序、分组取 TopN 优化分析

starzy

摘要:为什么你的分组 TopN 任务跑了 30 分钟还 OOM?答案通常是四个字——groupByKey。本文将二次排序和分组 TopN 作为两条优化主线,从反...

9610

Spark 核心之 MasterHA 高可用原理及配置详解

starzy

摘要:Spark Standalone 集群的 Master 节点是资源调度的核心,一旦宕机整个集群陷入瘫痪。Master HA 通过 ZooKeeper 实现...

15210

Spark 核心之自定义累加器以及版本对比变化深度剖析

starzy

摘要:Spark 1.x 的 Accumulator 接口存在严重设计缺陷:类型单调(IN=OUT)、无法自定义扩展、内置实现仅 4 种。Spark 2.0 引...

11410

Spark 核心之任务调度角色划分以及资源调度角色划分详解

starzy

摘要:为什么 DAGScheduler 从不关心集群用的是 Standalone 还是 YARN?为什么 Master 从不关心 DAG 怎么切?这背后是 Sp...

14510

Spark 核心之 DAG 有向无环图原理分析

starzy

摘要:你是否注意过 Spark UI 上的 "DAG Visualization" 图?那个有向无环图(DAG)不是凭空生成的——它是 Spark 从你写的每一...

14710
领券