学习 Spark MLlib(一):概览

Spark MLlib 是基于 Spark 的机器学习组件,包括两个包: ml 基于 DataFrame 的 API mllib 基于 RDD 的 API,处于维护模式 对比其它机器学习库,例如 scikit-learn,Spark MLlib 是一个分布式的机器学习库。 首先,Spark MLlib »

Spark 调优(二):JVM 调优

Spark 由 Scala/Java 编写的,Spark 的 Driver 和 Executor 是运行在集群中的 JVM 进程,依赖 Java 内存管理和 GC。在生产环境中,通常使用几十上百甚至更大的内存,这在传统的 Java 应用中极为少见。 Spark 通过 spark.driver. »

Spark 调优(一):内存调优

Spark 之于 MapReduce 最大的优势在于,Spark 使用了内存计算最大程度的避免了数据落盘。从另一个角度,也说明了像 Spark 内存计算引擎对内存资源的依赖。所以,内存调优是 Spark 调优的重点。 堆内存和堆外内存 堆内存 在 JVM 堆上分配的内存,在 GC 范围内。 Driver 堆内存通过 --driver-memory 或 »

学习 Spark 2(九):连接操作

实现 Spark SQL 的 JOIN 实现有三种: Sort Merge Join 排序合并连接 Hash Join 哈希连接 Broadcast Join 广播连接 其中,Sort Merge Join 和 Hash Join 是 Shuffled Join。 »

Spark SQL 源码分析(四):SessionCatalog

SessionCatalog 是底层元数据(基于内存和基于 Hive)的代理,同时也负责临时视图和函数的管理。 SessionCatalog 类图: ExternalCatalog ExternalCatalog 用于管理数据库、表、分区和函数,在 Spark SQL 中具体有两个实现: InMemoryCatalog HiveExternalCatalog InMemoryCatalog 是 ExternalCatalog 基于内存(内部使用 scala.collection. »