摘要:
Xboost在windows安装需要自己编译,编译的过程比较麻烦,而且需要复杂的软件环境。为了免去编译,我这里把编译好的文件上传到网盘供大家下载安装。有了编译好的文件,xgboost的安装变得超级简单1.下载文件 包括xgboost代码和编译好的dll文件:链接:http://pan.baidu.com/s/1o8mGTQU 密码:xvv22.将xgboost-master.zip 文件解压... 阅读全文
摘要:
神经网络的一些原理这不做介绍,不清楚的可以搜索相关博客和数据,资料相对较多。下面开始正题一、神经网络的构成 输入层(input layer), 隐藏层 (hidden layers), 输入层 (output layers)二、神经网络的算法的核心过程:2.1. 前向传播求损失 由输入层向前传送 ... 阅读全文
摘要:
上篇文章《 Spark 源码解析 : DAGScheduler中的DAG划分与提交》介绍了DAGScheduler的Stage划分算法。本文继续分析Stage被封装成TaskSet,并将TaskSet提交到集群的Executor执行的过程在DAGScheduler的submitStage方法中,将Stage划分完成,生成拓扑结构,当一个stage没有父stage时候,会调用DAGScheduler... 阅读全文
摘要:
一、Spark 运行架构Spark 运行架构如下图:各个RDD之间存在着依赖关系,这些依赖关系形成有向无环图DAG,DAGScheduler对这些依赖关系形成的DAG,进行Stage划分,划分的规则很简单,从后往前回溯,遇到窄依赖加入本stage,遇见宽依赖进行Stage切分。完成了Stage的划分,DAGScheduler基于每个Stage生成TaskSet,并将TaskSet提交给TaskSc... 阅读全文
摘要:
原创文章,转载请注明:转载自 听风居士博客(http://www.cnblogs.com/zhouyf/)本期内容:一、Spark Streaming 数据清理总览二、Spark Streaming 数据清理过程详解三、Spark Streaming 数据清理的触发机制 Spark Streaming不像普通Spark 的应用程序,普通Spark程序运行完成后,中间数据会随着SparkCon... 阅读全文
摘要:
首先简单解释一下什么是state(状态)管理?我们以wordcount为例。每个batchInterval会计算当前batch的单词计数,那如果需要计算从流开始到目前为止的单词出现的次数,该如计算呢?SparkStreaming提供了两种方法:updateStateByKey和mapWithState 。mapWithState 是1.6版本新增功能,目前属于实验阶段。mapWithSta... 阅读全文
摘要:
在前几期文章里讲了带Receiver的Spark Streaming 应用的相关源码解读,但是现在开发Spark Streaming的应用越来越多的采用No Receivers(Direct Approach)的方式,No Receiver的方式的优势: 1. 更强的控制自由度 2. 语义一致性 其实No Receivers的方式更符合我们读取数据,操作数据的思路的。因为Spark 本身是一个计算... 阅读全文
摘要:
一、Spark Streaming 数据安全性的考虑: Executor容错方式: 1. 最简单的容错是副本方式,基于底层BlockManager副本容错,也是默认的容错方式。 2.WAL日志方式 3. 接收到数据之后不做副本,支持数据重放,所谓重放就是支持反复读取数据。 BlockManager备 阅读全文
摘要:
上篇文章详细解析了Receiver不断接收数据的过程,在Receiver接收数据的过程中会将数据的元信息发送给ReceiverTracker: 本文将详细解析ReceiverTracker的的架构设计和具体实现 本文将详细解析ReceiverTracker的的架构设计和具体实现 一、Receiver 阅读全文
摘要:
原创文章,转载请注明:转载自 听风居士博客(http://www.cnblogs.com/zhouyf/) 在上一篇中介绍了Receiver的整体架构和设计原理,本篇内容主要介绍Receiver在Executor中数据接收和存储过程一、Receiver启动过程回顾如图,从ReceiverTracker的start方法开始,调用launchReceivers()方法,给endpoint发送消息,e... 阅读全文