控制复杂性是计算机编程的本质。-- Brian Kernigan Scala继承体系结构设计非常巧妙,它没有特殊地对待「基本数据类型」,将万物视为对象。此外,Scala在顶层...
控制复杂性是计算机编程的本质。-- Brian Kernigan Scala继承体系结构设计非常巧妙,它没有特殊地对待「基本数据类型」,将万物视为对象。此外,Scala在顶层...
我觉得总结的不是很严谨,应该说宽依赖一般多对多的情况,除了笛卡尔积
Spark中CartesianRDD依赖关系的特殊之处前言 RDD之间的依赖关系一般分为两种,宽依赖和窄依赖。 在网上好多博客中是这样描述宽依赖和窄依赖的特点 窄依赖每个父RDD的一个Partition最多被子RDD的一个Par...
前言 RDD之间的依赖关系一般分为两种,宽依赖和窄依赖。 在网上好多博客中是这样描述宽依赖和窄依赖的特点 窄依赖每个父RDD的一个Partition最多被子RDD的一个Par...
在DAGScheduler划分为Stage并以TaskSet的形式提交给TaskScheduler后,再由TaskScheduler通过TaskSetMagager对task...
欢迎关注微信公众号“Tim在路上”之前我们已经了解了shuffle writer的详细过程,那么生成文件后会发生什么呢?以及它们是如何被读取呢?读取是内存的操作吗?这些问题也...
executor 数量 = spark.cores.max/spark.executor.cores
Spark executor中task的数量与最大并发数关于executor和task的概念可以参考官方文档本文使用的源码是spark 2.0.0版本 Task的数量 根据类DAGScheduler中的submitMissingT...
最近在工作讨论中,同事提出了这么一个问题:作用在一个RDD/DataFrame上的连续的多个map是在对数据的一次循环遍历中完成的还是需要多次循环? 当时我很自然地回答说:不...
所以为什么广播失败找到原因了吗?
Spark-Broadcast的生命周期事情起因是一位同事写的SparkStreaming程序,总会出现部分Executor上请求broadcast不成功的错误,鉴于此,我专门走读了一下broadcast的相关代码...
概要 用例(Use Case)是一种描述系统需求的方法。运用用例这种方法来描述系统需求称之为用例建模。用例也是UML规范中的一种标准化的需求表达方式,其中比较有名的RUP(R...
:::运算符:三个冒号表示List的连接操作,比如: val a = List(1,2) val b = List(3,4) val c = a:::b //c=List(1...
摘要:列式存储,Parquet Parquet概述 Apache Parquet是面向分析型业务的列式存储格式,由Twitter和Cloudera合作开发,Parquet是一...
也可以看我CSDN的博客:https://blog.csdn.net/u013332124/article/details/90339850 一、Spark Thrift S...
loadClass() findLoadedClass(String) 调用这个方法,查看这个Class是否已经别加载 如果没有被加载,继续往下走,查看父类加载器,递归调用l...
随机截取一段GC日志 55442.859是从JVM启动以来经历的秒数,可以认为是发生GC的相对时间。GC表示是否暂停线程,也就是著名的Stop-The-World, Full...
前言 每一种收集器的日志形式都由他们自身实现所决定的,所以会不同,但是一般大家都会维持一定的共性。 日志解读 最前面的“33.125:”和“100.667:" 代表了GC发生...
序 本文主要讲一下SynchronousQueue。 定义 SynchronousQueue,实际上它不是一个真正的队列,因为它不会为队列中元素维护存储空间。与其他队列不同的...