摘要:
Spark Tungsten揭秘 Day3 内存分配和管理内幕 恭喜Spark2.0发布,今天会看一下2.0的源码。 今天会讲下Tungsten内存分配和管理的内幕。Tungsten想要工作,要有数据源和数据结构,这时候会涉及到内存管理,而内存管理也是后续做很多分析和逻辑控制的基础。 内存分配 我们 阅读全文
摘要:
Spark Tungsten揭秘 Day2 Tungsten sort Based Shuffle 今天在对钨丝计划思考的基础上,讲解下基于Tungsten的shuffle。 首先解释下概念,Tungsten sort是对普通sort的一种优化,排序的不是内容本身,而是内容序列化后字节数组的指针(元 阅读全文
摘要:
Spark Tungsten揭秘 Day1 jvm下的性能优化 今天开始谈下Tungsten,首先我们需要了解下其背后是符合了什么样的规律。 jvm对分布式天生支持 整个Spark分布式系统是建立在分布式jvm基础上的,jvm非常伟大的一点在于把不同机器的计算能力联合起来了,jvm也把不同机器的存储 阅读全文
摘要:
Spark机器学习 Day2 快速理解机器学习 有两个问题: 1. 机器学习到底是什么。 2. 大数据机器学习到底是什么。 机器学习到底是什么 人正常思维的过程是根据历史经验得出一定的规律,然后在当前情况下根据这种规律来预测当前的情况下该怎么做,这种过程就是一个机器学习的过程。 我们可以发现,这个过 阅读全文
摘要:
Catalyst揭秘 Day8 Final 外部数据源和缓存系统 今天是Catalyst部分的收官,主要讲一些杂项内容。 外部数据源处理 什么叫外部数据源,是SparkSql自己支持的一些文件格式,以及一些自己自定义格式的文件开发。 让我们从文件的读取api开始,可以看到最终会创建一个DataFra 阅读全文
摘要:
Catalyst揭秘 Day7 SQL转为RDD的具体实现 从技术角度,越底层和硬件偶尔越高,可动弹的空间越小,而越高层,可动用的智慧是更多。Catalyst就是个高层的智慧。 Catalyst已经逐渐变成了所有Spark框架的解析优化引擎,RDD是通用抽象的数据结果,RDD+Catalyst就构成 阅读全文
摘要:
Spark机器学习 Day1 机器学习概述 今天主要讨论个问题:Spark机器学习的本质是什么,其内部构成到底是什么。 简单来说,机器学习是数据+算法。 数据 在Spark中做机器学习,肯定有数据来源,在Spark的最底层肯定是RDD封装,这个和Spark具体是什么版本没有任何关系,版本发展只不过是 阅读全文
摘要:
Catalyst揭秘 Day6 Physical plan解析 物理计划是Spark和Sparksql相对比而言的,因为SparkSql是在Spark core上的一个抽象,物理化就是变成RDD,是SparkSql和Spark core之间的衔接点。 Physical Plan也是Catalyst变 阅读全文
摘要:
Spark小课堂Week6 启动日志详解 作为分布式系统,Spark程序是非常难以使用传统方法来进行调试的,所以我们主要的武器是日志,今天会对启动日志进行一下详解。 日志详解 今天主要遍历下Streaming的启动日志。 授权等操作 有中心式架构,元数据服务叫Driver,这里是启动了一个akka服 阅读全文
摘要:
Spark小课堂Week5 Scala初探 Scala是java威力加强版。 对Java的改进 这里会结合StreamingContext.scala这个代码说明下对Java的改进方面。 方便测试方式,增加了可以指定位置的作用域。 成员变量声明,构造方法,get、set方法一体化。 []表示泛型,不 阅读全文