自定义博客皮肤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)
  • 资源 (2)
  • 收藏
  • 关注

原创 SparkContext创建初始化完成的主要工作

SparkContext是提交作业到集群的切入点,所以接下来讲解一下SparkContext的初始化过程。当我们使用spark-submit脚本提交一个作业之后,流程如下:提交作业之后(省略SparkSubmit的分析不走) -> 反射创建mainClass  -> 初始化SparkContext -> 使用sparkContext创建RDD -> 执行count算子run

2017-06-28 14:15:00 1167

原创 Spark中RpcEnv和SparkEnv的区别

1: RpcEnv是一个更宏观的Env,是Spark集群Rpc通信的基础服务环境。 每一个RpcEndPoint都有自己的RpcEnv。因此在集群启动时候,所有的节点(无论Master还是Worker)都会创建一个RpcEnv,然后将该节点注册到RpcEnv中。RpcEnv在Spark2.x版本之后就只有Netty的实现了,因此看一下RpcEnv和NettyRpcEnv的声明:

2017-06-27 22:43:40 768

原创 Spark作业的Stage划分,Task创建分发一直到提交给Spark的Executor的线程池执行全过程

作业提交流程:提交作业之后(省略SparkSubmit的分析不走) -> 反射创建mainClass  -> 初始化SparkContext -> 使用sparkContext创建RDD -> 执行count算子runJob(runJob是SparkContext中的)方法触发作业->调用sparkContext中dagScheduler的runJob方法->调用dagScheduler的su

2017-06-27 22:28:03 2167

原创 Spark分布式消息发送流程

Spark集群中涉及分布式节点之间的通信,例如Worker启动注册信息到Master,这个过程就有消息的传输,接下来将要分一下一下消息的传输过程。首先Worker的启动还是从main方法开始,之后运行期初始化OnStart方法调用registerWithMaster完成Worker向Master的注册,registerWithMaster经过一系列调用最后调用org.apache.spark.de

2017-06-25 15:53:00 1163

原创 Spark Master初始化过程(Worker初始化过程同理),Onstart-receive-OnStop执行过程

上一篇博文讲解了一下Spark RpcEnv的启动过程,参见:http://blog.csdn.net/dax1n/article/details/73699592。这次分析一下Master(Worker同理)的初始化以及OnStart、receive、receiveAndReply、OnStop方法是如何调用完成初始化的!由上一节我们已经知道Master的注册过程,最终调用org.a

2017-06-25 15:12:24 739

原创 Spark Rpc的启动过程(其实也就是集群的启动过程)

Spark RPC在2.0之后是完全基于Netty实现的RPC,主要核心组件有: RpcEnv、RpcEnvFactory、RpcEndpoint、RpcEndPointRef(对应到Netty的实现就是NettyRpcEnv、NettyRpcEnvFactory、NettyRpcEndpoint、NettyRpcEndPointRef)。当然还有一些其他组件,我们这里不涉及了,关于底层传输后期在

2017-06-25 10:53:31 938

原创 Flink Table API和SQL实践

任务

2017-06-20 15:20:24 3411

原创 Queryable States in ApacheFlink - Implementation

This is part 2 of the blog Queryable States in Apache Flink. In the previous blog, we saw how Apache Flink enabled Queryable States. In this part, we will create a Streaming Job with Queryable State

2017-06-19 22:36:07 1064

原创 Queryable States in ApacheFlink - How it works

QueryableStates allows users to do real-time queries on the internal state of the stream without having to store the result on to any external storage. This opens up many interesting possibilities sin

2017-06-19 22:34:30 704 1

原创 Flink Streaming - Triggers and Evictors

In the last blog, we looked at the two basic types of Windows in Flink - Sliding and Tumbling windows. In the blog, I will explain you two important concepts that can be used in Flink - Triggers and

2017-06-19 22:18:45 705 1

转载 Flink如何应对背压问题

转至:http://blog.csdn.net/yanghua_kobe/article/details/51214097经常有人会问Flink如何处理背压问题。其实,答案很简单:Flink没用使用任何通用方案来解决这个问题,因为那根本不需要那样的方案。它利用自身作为一个纯数据流引擎的优势来优雅地响应背压问题。这篇文章,我们将介绍背压问题,然后我们将深挖Flink的运行时如何在task之间

2017-06-15 21:43:15 1780

原创 Spark中Job、Stage和Task的关系

如下图展示了Stage和Task逻辑上的关系Spark划分Stage准则:Shuffle依赖Stage:Stage是由一些算子组成的集合,Spark中Stage有ShuffleMapStage和ResultStageTask:Task是Worker执行单元,Task是Stage中算子的封装Task数量:由于每一个Task处理一个HDFS上的数据块,因此Task数

2017-06-14 10:38:24 1516

转载 Scala入门到精通——类型参数(一)

转载至:http://blog.csdn.net/lovehuangjiaju/article/details/47264365本节主要内容类型变量界定(Type Variable Bound)视图界定(View Bound)上界(Upper Bound)与下界(Lower Bound)1. 类型变量界定(Type Variable Bound)类型变量界定是指在泛型的

2017-06-12 15:30:02 351

原创 Spark RDD的fold算子

fold算子签名:  def fold(zeroValue: T)(op: (T, T) => T): T ,算子其实就是先对rdd分区的每一个分区进行使用op函数,在调用op函数过程中将zeroValue参与计算,最后在对每一个分区的结果调用op函数,同理此处zeroValue再次参与计算!此处op函数为: val add = (x: Int, y: Int) => {

2017-06-09 22:48:10 3461 1

原创 Spark RDD的aggregate算子

aggregate算子签名: def aggregate[U: ClassTag](zeroValue: U)(seqOp: (U, T) => U, combOp: (U, U) => U): U = withScope zeroValue是一个初始值,seqOp对每一个分区操作的函数,combOp对每一个分区结果进行操作的函数。zeroValue在seqOp的每一次调用中都会

2017-06-09 22:24:55 1707

原创 Spark RDD排序算子

RDD排序算子有sortBy和sortByKey两个算作,sortBy算子可以自定义排序规则,而sortByKey只能对Key使用Scala或Spark默认支持的排序规则,如果Scala或Spark不支持排序规则的话,需要使用sortBy自己实现排序规则!sortByKey的核心实现代码:class OrderedRDDFunctions extends Logging wit

2017-06-09 17:14:21 5043

原创 Flink提交作业的两种方式

抛砖引玉:在Spark集群提交作业时候可以使用--deploy参数指定client或者cluster方式提交作业到集群,前者是客户端模式,后者是集群模式,两者主要区别就是Driver的运行位置,在客户端模式下,Driver运行在提交作业的客户端机器上负责与集群进行资源申请调度等工作。而集群模式下Driver运行在集群中的某一个节点上负责资源申请以及调度。一般的,客户端模式适合程序的调试,这

2017-06-06 17:02:46 12826

天津大学周伟状态压缩论文

信息学发展势头迅猛,信息学奥赛的题目来源遍及各行各业,经常有一些在 实际应用中很有价值的问题被引入信息学并得到有效解决。然而有一些问题却被 认为很可能不存在有效的(多项式级的)算法,本文以对几个例题的剖析,简述状 态压缩思想及其应用。

2018-09-14

java网络编程第四版源码

java网络编程第四版源码

2017-04-04

空空如也

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

TA关注的人

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