自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 Spark MLlib源代码解读之KMeans(下)

Spark MLlib源代码解读之KMeans(下)之前看过Kmeans的源代码,但是对于Spark KMeans生成初始中心点的方法没有理解到位, 最近又看了一下,再次补充一下。Spark生成初始中心点有一个方法叫做initKMeansParallel。 整个代码包含有 Kmeans类和localKmeans类,localkmeans类主要用于实现KMeans++方法来实现得到中心点。init

2017-09-21 17:58:01 862

转载 Spark调优高级篇:数据倾斜调优

本篇博客转载自美团技术论坛,这个对于Spark数据倾斜讲的非常完善。有兴趣可以仔细研读:https://tech.meituan.com/spark-tuning-pro.htmlSpark调优:高级篇之数据倾斜调优数据倾斜调优调优概述有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题

2017-09-12 16:38:46 755

转载 Spark调优: 基础篇

本篇博客转载自美团技术团队的博客,这个博客对于spark调优有比较详细的讲解。虽然以前也了解过Spark调优,但是这篇博客写的还是很全面的。感兴趣的可以看看。博客链接:https://tech.meituan.com/spark-tuning-basic.htmlSpark调优:基础篇前言在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的

2017-09-12 15:47:09 585

转载 Spark-Streaming编程指南

本篇博客转载自http://ifeve.com/spark-streaming-2/.作者翻译了spark-streaming编程的官方文档,很适合来较深入全面的学习spark-streaming。Spark-Streaming编程指南概览Spark Streaming是对核心Spark API的一个扩展,它能够实现对实时数据流的流式处理,并具有很好的可扩展性、高吞吐量和容错性。Spark Stre

2017-08-24 03:24:36 511

原创 Spark编程之基本的RDD算子count, countApproxDistinct, countByValue等

Spark编程之基本的RDD算子count, countApproxDistinct, countByValue等1 countcount 返回的是在一个RDD里面存储的元素的个数def count(): Longval c = sc.parallelize(List("Gnu", "Cat", "Rat", "Dog"), 2)c.countres2: Long = 42 countAp

2017-08-14 10:36:48 6466

转载 Spark-Streaming 和Kafka连接的两种方式

本篇文章转载自https://my.oschina.net/u/1250040/blog/908571。 作者对于spark-streaming和Kafka的连接做了比较详细的介绍。对于理解Spark-Streaming和Kafka有很大帮助。概述Spark Streaming 支持多种实时输入源数据的读取,其中包括Kafka、flume、socket流等等。除了Kafka以外的实时输入源,由于我们

2017-08-09 15:20:41 4479

原创 Spark MLlib StreamingKmeans 实时KMeans聚类算法源代码解读

Spark MLlib StreamingKmeans实时KMeans聚类算法源代码解读最近花了一段时间看了一下聚类算法中的StreamingKMeans算法。在Spark MLlib的聚类算法中实现了多个聚类算法,KMeans也包含多个版本,其中一个是通过Spark平台来S实现Kmeans,还有一个是通过Spark-streaming平台来实现Kmeans。这个类似于数据通过一个实时平台比如说Fl

2017-08-01 18:02:40 4212

转载 Spark的shuffle实现

Spark的shuffle实现:BackGround在MapReduce框架中,shuffle是连接Map和Reduce之间的桥梁,Map的输出要用到Reduce中必须经过shuffle这个环节,shuffle的性能高低直接影响了整个程序的性能和吞吐量。Spark作为MapReduce框架的一种实现,自然也实现了shuffle的逻辑,本文就深入研究Spark的shuffle是如何实现的,有什么优缺点

2017-07-31 14:41:31 307

原创 Spark编程之基本的RDD算子sparkContext,foreach,foreachPartition, collectAsMap

Spark编程之基本的RDD算子sparkContext,foreach,foreachPartition, collectAsMap1) context, sparkContext返回一个RDD的sparkContext,当我们需要用到一个sc的时候,可以通过rdd.sparkContext来获取这个rdd的sc。val c = sc.parallelize(List("Gnu", "Cat"

2017-07-29 15:10:13 1255

转载 Spark性能优化:shuffle调优

Spark性能优化:shuffle调优本篇文章转载自http://www.uml.org.cn/sjjm/2016060210.asp,这篇文章对于深入理解spark shuffle有很大的帮助shuffle调优调优概述大多数Spark作业的性能主要就是消耗在了shuffle环节,因为该环节包含了大量的磁盘IO、序列化、网络数据传输等操作。因此,如果要让作业的性能更上一层楼,就有必要对shuffle

2017-07-28 13:57:31 343

原创 Spark编程之基本的RDD算子之glom,substract,substractByKey,intersection,distinct,union

Spark编程之基本的RDD算子之glom,substract,substractByKey,intersection,distinct,union等。1) glom这个算子会将每一个分区的元素放在一个数组里面然后存储在RDD里面。def glom(): RDD[Array[T]]val a = sc.parallelize(1 to 100, 3)a.glom.collect //可以看到,

2017-07-27 19:09:15 1448

原创 Spark编程之基本的RDD算子coalesce, repartition, checkpoint

Spark编程之基本的RDD算子coalesce, repartition, checkpoint等。1) coalesce(合并的意思), repartition 这两个算子都是为了对数据进行重新分区的。将原来的数据合并为给定的分区数,repartition是coalesce的调用,其中的shuffle参数设置为true。以下是基本的api。def coalesce ( numPartitio

2017-07-27 17:11:18 496

原创 Spark编程之基本的RDD算子之join,rightOuterJoin, leftOuterJoin

Spark编程之基本的RDD算子之join,rightOuterJoin, leftOuterJoin1) joindef join[W](other: RDD[(K, W)]): RDD[(K, (V, W))]def join[W](other: RDD[(K, W)], numPartitions: Int): RDD[(K, (V, W))]def join[W](other: RD

2017-07-24 15:57:44 2979

原创 Spark编程之基本的RDD算子之cogroup,groupBy,groupByKey

Spark编程之基本的RDD算子之cogroup,groupBy,groupByKey1) cogroup [Pair], groupWith [Pair]首先来看一下它的api。def cogroup[W](other: RDD[(K, W)]): RDD[(K, (Iterable[V], Iterable[W]))]def cogroup[W](other: RDD[(K, W)], n

2017-07-24 14:50:15 14494

原创 Spark编程之基本的RDD算子之zip,zipPartitions,zipWithIndex,zipWithUniqueId

Spark编程之基本的RDD算子之zip,zipPartitions,zipWithIndex,zipWithUniqueId1) zip拉链操作首先来看一下基本的api。def zip[U: ClassTag](other: RDD[U]): RDD[(T, U)]自身的RDD的值的类型为T类型,另一个RDD的值的类型为U类型。zip操作将这两个值连接在一起。构成一个元祖值。RDD的值的类型为

2017-07-22 23:24:22 6759

原创 Spark编程之基本的RDD算子之map,mapPartitions, mapPartitionsWithIndex.

Spark编程之基本的RDD算子之map,mapPartitions, mapPartitionsWithIndex.1) map 首先来看一下基本的api:def map[U: ClassTag](f: T => U): RDD[U]这个是spark算子中非常经典的一个api,接收一个函数,将T类型的值变为U类型的值。返回值放在一个RDD里面。是一个transformation的操作。返回一

2017-07-22 09:19:00 527

原创 Spark编程之基本的RDD算子之fold,foldByKey,treeAggregate, treeReduce

Spark编程之基本的RDD算子之fold,foldByKey,treeAggregate, treeReduce1) folddef fold(zeroValue: T)(op: (T, T) => T): T这个api算子接收一个初始值,fold算子传入一个函数,合并两个同类型的值,同时返回一个相同类型的值这个算子在每个分区对值进行合并。在每个分区合并时以一个zeroValue作为在每个在每

2017-07-21 14:57:35 650

原创 Spark编程的基本的算子之:combineByKey,reduceByKey,groupByKey

Spark编程的基本的算子之:combineByKey,reduceByKey,groupByKey1) combineByKey。其他的算子比如说reduceByKey,groupByKey都是基于combineByKey实现的。首先来看看API 定义:def combineByKey[C](createCombiner: V => C, mergeValue: (C, V) => C, me

2017-07-20 23:31:25 875

原创 Spark编程之基本的RDD算子-aggregate和aggregateByKey

spark基本的RDD算子:在学习spark的过程中,有这样几个算子非常重要,但是却容易混淆。在这里我想做一下记录.1) 第一个是aggregate算子.我们首先可以看看aggregate算子的api,def aggregate[U: ClassTag](zeroValue: U)(seqOp: (U, T) => U, combOp: (U, U) => U): U这个算子接收三个参数,第一个

2017-07-20 14:51:58 1061

原创 Spark MLlib 源代码解析之逻辑回归LogisticRegression

Spark MLlib 逻辑回归 LogisticRegression模型逻辑回归的本质是线性回归,只是在特征到结果的过程上加上了一层映射。即首先需要把特征进行求和,然后将求和后的结果应用于一个g(z)函数。g(z)可以将值映射到0或者是1上面。逻辑回归和多重线性回归有很多的相似之处。最大的区别是他们的因变量不同。这两个回归也可以统一归为广义线性模型。在spark mllib实现的过程中也是先定义好

2017-07-18 23:29:18 4943 1

原创 Spark MLlib 源代码解读之线性回归

Spark MLlib线性回归算法原理分析:什么是线性回归:回归分析是一种统计工具,它利用两个或两个以上变量之间的关系,由一个或几个变量来预测另一个变量。当自变量只有一个的时候,叫做一元线性回归。 h(x)=b0+b1(x)h(x)=b0+b1(x)当自变量有多个的时候,叫做多元线性回归。h(x1,x2,..xn)=b0+b1(x1)+b2(x2)...h(x1,x2,..xn)=b0+b1(x1)

2017-07-10 22:41:18 1061 1

原创 Spark MLlib源代码解读之朴素贝叶斯分类器,NaiveBayes

Spark MLlib 朴素贝叶斯NaiveBayes 源代码分析基本原理介绍首先是基本的条件概率求解的公式。P(A|B)=P(AB)P(B)P\left ( A|B \right )=\frac{P(AB)}{P(B)}在现实生活中,我们经常会碰到已知一个条件概率,求得两个时间交换后的概率的问题。也就是在已知P(A|B)的情况下,如何求得P(B|A). 其中P(A|B)表示在事件B发生的前提下,

2017-06-22 21:41:06 3460 3

原创 Spark MLlib Kmeans源代码解读(上)

Spark MLlib 源代码解读之Kmeans(上)PS:第一次写博客,希望大家支持,谢谢。基本原理:Kmeans算法的基本思想是:初始随机给定k个簇中心,按照最近邻的点将数据集中所包含的点分给不同的中心点,进而得到数据的分类。在分类过程中,需要不停的进行迭代,同时更新中心点的坐标,直到中心点的移动距离小于某一个给定的精度值。Kmeans的聚类算法主要分为以下三个步骤:如下图所示 我们可以看到,

2017-06-17 15:30:28 4649

空空如也

空空如也

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

TA关注的人

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