自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (3)
  • 收藏
  • 关注

原创 56:Spark中的Tungsten内存和CPU的优化使用

本期内容:1. Tungsten内存分配优化使用2. Tungsten的CPU的优化使用今天聚焦于内存和CPU的优化使用,这是Spark2.0提供的关于执行时的非常大的优化部分。对过去的代码研究,我们会发现,抽象的提高,转过来会变成对CPU和内存的使用。也就是说,抽象提升,会对内存对CPU会有很多不必要的使用,执行很多无谓的没有实际作用的操作。比如面向接口调用,就是使用

2016-08-07 18:45:10 936

原创 55:Spark中的Tungsten内存分配和管理内幕

本期内容1. Tungsten内存分配内幕2. Tungsten内存管理内幕内存分配和管理内幕恭喜Spark2.0发布,今天会看一下2.0的源码。今天会讲下Tungsten内存分配和管理的内幕。Tungsten想要工作,要有数据源和数据结构,这时候会涉及到内存管理,而内存管理也是后续做很多分析和逻辑控制的基础。内存分配我们从内存分配的入口Memory

2016-08-07 18:44:39 1200

原创 54:Spark中的Tungsten-sort Based Shuffle内幕

本期内容:1. Tungsten-sort Based Shuffle原理2. Tungsten-sort Based Shuffle源码ShortShuffleManagerMemoryManagerShuffleExternalSorterTungsten-sort Based Shuffle今天在对钨丝计划思考的基础上,讲解下基于Tungste

2016-08-07 18:44:15 926

原创 53:Spark中Tungsten深度思考

本期内容:1. 关于OS、JVM与大数据2. JVM下的性能优化jvm对分布式天生支持整个Spark分布式系统是建立在分布式jvm基础上的,jvm非常伟大的一点在于把不同机器的计算能力联合起来了,jvm也把不同机器的存储能力连接起来了。jvm是怎么做到这一点的,jvm本身就是一个软件,有自己的通讯方式以及自己的一套协议,在进行java或者scala开发的时候,就

2016-08-07 18:43:30 683

原创 52:Spark中的新解析引擎Catalyst源码中的外部数据源、缓存及其它

本期内容:1. Catalyst中的外部数据源2. Catalyst中的缓存3. 其它外部数据源处理什么叫外部数据源,是SparkSql自己支持的一些文件格式,以及一些自己自定义格式的文件开发。让我们从文件的读取api开始,可以看到最终会创建一个DataFrame,当中比较关键的是relation方法。首先,会以反射方式获取provider。

2016-08-07 18:42:59 754

原创 51:Spark中的新解析引擎Catalyst源码SQL最终转化为RDD具体实现

本期内容:1.  框架与RDD2. Physical Plan与RDD从技术角度,越底层和硬件偶尔越高,可动弹的空间越小,而越高层,可动用的智慧是更多。Catalyst就是个高层的智慧。Catalyst已经逐渐变成了所有Spark框架的解析优化引擎,RDD是通用抽象的数据结果,RDD+Catalyst就构成了Spark的新底层。Catalyst是在RDD

2016-08-07 18:42:15 585

原创 50:Spark中的新解析引擎Catalyst源码Physical Plan彻底详解

本期内容:1. SparkPlanner的基本工作机制2. Physical Plan源码彻底详解物理计划是Spark和Sparksql相对比而言的,因为SparkSql是在Spark core上的一个抽象,物理化就是变成RDD,是SparkSql和Spark core之间的衔接点。Physical Plan也是Catalyst变成Spark作业的最

2016-08-07 18:41:50 973

原创 49:Spark中的新解析引擎Catalyst源码Optimizer彻底详解

本期内容:1. Optimizer的基本工作机制2. Optimizer源码彻底详解Optimizer是目前为止中catalyst中最重要的部分。主要作用是把analyzed logicalPlan变成optimized LogicalPlan。optimizer和analyzer都继承自RuleExecutor。所以表现形式上都差不多。在analyzer基

2016-08-07 18:41:21 903

原创 48:Spark中的新解析引擎Catalyst源码Analyzer彻底详解

本期内容:1. Analyzer的基本工作机制2. Analyzer源码彻底详解在sql语句的处理流程中,analyzer是在sqlparse的基础上,把unresolved logical plan生成logcal plan。Analyzer定义在analyzer构造的时候,会传入catalog和functionRegistry,其中catelog用来存放用户

2016-08-07 18:40:29 799

原创 47:Spark中的新解析引擎Catalyst源码SqlParser彻底详解

本期内容:1. SqlParser的基本工作机制2. SqlParser源码彻底详解把DataFrame、DataSet变成树。Spark中哟很多结构是树结构。树形结构从前面的介绍,我们可以看到sqlParser会返回一个logicalPlan,它是TreeNode的子类。TreeNode,作为一个树形抽象类,SQL语法的解析的时候,所有的元素都是T

2016-08-07 18:39:57 2562

原创 46:Spark中的新解析引擎Catalyst源码初探

本期内容:1. SQLContext2. Catalyst核心组件源码SQLContext基于SparkContext。Spark应用程序中可以有多个SparkContext。allowMultipleContextsCatalog类SqlParserAnalyzer:最原始的语法的解析Optimizer:优化器

2016-08-07 18:39:29 843

原创 45:神速理解Spark中的新解析引擎Catalyst

本期内容:1. Catelyst本地解析2. Catalyst流程精彩解析Catalyst是Spark SQL中的一套函数式关系查询优化框架。在Catalyst的帮助下,Spark SQL的开发者们只需编写极为精简直观的申明式代码,即可实现各种复杂的查询优化策略,从而大大降低了Spark SQL查询优化器的开发复杂度,也加快了项目整体的迭代速度。 Spark 2.X是以

2016-08-07 18:39:03 1102

原创 44:Spark Streaming之Spark内核回顾思考

本期内容:1. Spark Streaming与Spark Core2. Spark Core思考Spark上的子框架,都是后来加上去的。都是在Spark core上完成的,所有框架一切的实现最终还是由Spark core来做的。抛开任何具体的东西,现在考虑下Spark core是个什么东西。解析rdd程序就是数据+代码。所以首先,我们需要考虑s

2016-08-07 18:38:44 814

原创 43:Spark Streaming中UI内幕实现彻底解密

本期内容:1. Spark Streaming中UI的监听模式2. Spark Streaming中UI具体源码解析解析UI监听模式今天分享下SparkStreaming中的UI部分,和所有的UI系统一样,SparkStreaming中的UI系统使用的是监听器模式。监听器模式是指,首先注册事件源,当事件或者数据发生改变时,监听器就会接收到这个改变,并对这种改变做出响应,监听器模

2016-08-07 18:37:54 1290 6

原创 42:Spark Streaming中checkpoint内幕实现彻底解密

本期内容:1. Spark Streaming中Checkpoint的使用2. Spark Streaming张应用程序的重新启动今天谈下sparkstreaming中,另外一个至关重要的内容Checkpoint。首先,我们会看下checkpoint的使用。另外,会看下在应用程序重新启动时,是如何处理checkpoint的。Checkpoint保存什么

2016-08-07 18:13:51 2053 9

原创 41:Spark Streaming中WAL内幕实现彻底解密

本期内容:1. WAL框架和实现2. Spark Streaming中WAL的使用从本质点说,WAL框架是一个存储系统,可以简单的认为是一个文件系统,其作用类似于BlockManager。我们首先看一下官方的说明:这里有三个要点:总体上,SparkStreaming是用WAL去保存接收到的数据,并且在写入数据后,要把元数据汇报给Drive

2016-08-07 18:03:21 1626 4

原创 40:Spark Streaming中KafkaReceiver内幕实现彻底解密

本期内容:1. KafkaInputDStream源码解密2. KafkaReceiver源码解密Direct方式,是No Receiver方式,和普通Receiver方式,最大的区别,是元数据的管理方式。Direct方式是没有通过zookeeper,由应用自身来管理。KafkaUtils.createDirectStream:  /**

2016-08-07 17:52:18 1724 4

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除