自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(106)
  • 收藏
  • 关注

转载 Spark GraphX在淘宝的实践

由于Spark GraphX性能良好,又有丰富的功能和运算符,能在海量数据上自如运行复杂的图算法,淘宝尝试将它作为分布式图计算平台,进行各种算法尝试和生产应用。本文结合GraphX的原理和特点,分享其在淘宝的应用实践。早在0.5版本,Spark就带了一个小型的Bagel模块,提供了类似Pregel的功能。当然,这个版本还非常原始,性能和功能都比较弱,属于实验型产品。到0.8版本时,鉴于

2017-01-25 11:20:14 3370

转载 Yelper推荐系统

原文地址:yelper recommendation system 原文翻译与校对:@酒酒 && @寒小阳 时间:2016年10月。 出处:http://blog.csdn.net/han_xiaoyang/article/details/52778321 声明:版权所有,转载请联系作者并注明出1. 我们为什么需要推荐系统?“推荐”可是个当红话题。Netfl

2017-01-25 11:10:00 1033

原创 八大机器学习框架对比及Tensorflow的优势

八大机器学习框架的对比:(1)  TensorFlow:深度学习最流行的库之一,是谷歌在深刻总结了其 前身 DistBelief 的经验教训上形成的;它不仅便携、高效、可扩 展,还能再不同计算机上运行:小到智能手机,大到计算机集群都 能;它是一款轻量级的软件,可以立刻生成你的训练模型,也能 重新实现它;TensorFlow 拥抱创新,有强大的社区、企业支持, 因此它广泛用于从个人到企业、从初创

2017-01-25 10:28:35 32105

原创 关于http和rpc的区别(segmentfault上的回答)

问题最近用了谷歌的grpc,所以对rpc和http有一点疑惑,感觉这两个东西功能上是一样的,rpc某个服务监听某一个方法,客户端调用这个方法,返回相应的数据,和http监听某个方法的路由 返回相应的数据好像没有本质上的区别啊?回答rpc不仅仅可以用http协议实现。http只是rpc的载体、传输协议。但是宽泛起来也可以说,是rpc的一种实现。json(jsonr

2017-01-25 10:23:31 4885

转载 梯度下降法的三种形式BGD、SGD以及MBGD

阅读目录1. 批量梯度下降法BGD2. 随机梯度下降法SGD3. 小批量梯度下降法MBGD4. 总结  在应用机器学习算法时,我们通常采用梯度下降法来对采用的算法进行训练。其实,常用的梯度下降法还具体包含有三种不同的形式,它们也各自有着不同的优缺点。  下面我们以线性回归算法来对三种梯度下降法进行比较。  一般线性回归函数的假设函数为:hθ=∑n

2017-01-24 11:58:55 580

转载 MLlib数据存储Vector/Matrix/LablePoint

在进行具体算法模型剖析之前,首先要清楚MLlib采用的数据结构,Spark官方文档也提供了英文的数据结构介绍,地址如下: http://spark.apache.org/docs/latest/mllib-data-types.htmlMLlib支持单机local vectors 和 matrices以及分布式矩阵。其中local vectors 和 matrices是一种用于公共接口的简

2017-01-22 15:19:48 644

转载 常见数据结构(二)-树(二叉树,红黑树,B树)

原文链接:http://brianway.github.io/2016/10/14/algorithms-data-structures-2/写在前面本文所有图片均截图自coursera上普林斯顿的课程《Algorithms, Part I》中的Slides相关命题的证明可参考《算法(第4版)》源码可在官网下载,也可以在我的github仓库 algorithms-learn

2017-01-22 11:21:46 545

转载 常见数据结构(一)-栈,队列,堆,哈希表

写在前面本文所有图片均截图自coursera上普林斯顿的课程《Algorithms, Part I》中的Slides相关命题的证明可参考《算法(第4版)》源码可在官网下载,也可以在我的github仓库 algorithms-learning下载,已经使用maven构建仓库下载:git clone git@github.com:brianway/algorithms-learning

2017-01-22 11:19:10 625

转载 Hash表、Hash函数及冲突解决

1.Hash表  哈希表(Hash table,也叫散列表),是根据key而直接进行访问的数据结构。也就是说,它通过把key映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。  以数据中每个元素的关键字K为自变量,通过散列函数H(k)计算出函数值,以该函数值作为一块连续存储空间的的单元地址,将该元素存储到函数值对应的单元中。

2017-01-22 11:15:20 802

转载 数据结构和算法学习笔记——图论

图一个图 G=(V,E) 由顶点集 V 和边集 E 组成。每条边是一个点对 (v,w) ,其中 v,w∈V 。如果点对是有序的,则图称为有向图。顶点 v 和 w 邻接当且仅当 (v,w)∈E 。有时边还有权或值属性。图中的路径是一个顶点序列 w1,w2,...,wN ,满足 (wi,wi+1)∈E , 1≤iN 。路径的长为该路径的边数 N−1 。顶点到自身可以看作有不包含边的路径,路径长

2017-01-22 11:10:21 1799

原创 从1到n整数中1出现的次数

题目:

2017-01-20 14:21:31 410

转载 Flume基本概念

1、Flume是什么?    ○ Flume是由cloudera开发的实时日志收集系统    ○ 核心概念是由一个叫做Agent(代理节点)的java进程运行在日志收集节点    ○ Flume在0.94.0版本以前(包含0.94.0版本)称为Cloudera Flume OG,由于0.94.0版本以前存在各种缺陷,因此不得不重新设计Flume并更名为Apache Flume NG

2017-01-20 12:22:20 515

原创 连续子数组的最大和

题目:输入一个整型数组,数组里有整数也有负数。数据中一个或连续的多个整数组成子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。

2017-01-20 10:57:22 421

转载 Spark 2.0系列之SparkSession详解

用Spark的各项功能,用户不但可以使用DataFrame和Dataset的各种API,学习Spark的难度也会大大降低。本文就SparkSession在Spark2 0中的功能和地位加以阐释。Spark2.0中引入了SparkSession的概念,它为用户提供了一个统一的切入点来使用Spark的各项功能,用户不但可以使用DataFrame和Dataset的各种API,学习Sp

2017-01-19 13:50:14 44422 1

转载 TF-IDF算法概述

假设现在有一篇很长的文章,要从中提取出它的关键字,完全不人工干预,那么怎么做到呢?又有如如何判断两篇文章的相似性的这类问题,这是在数据挖掘,信息检索中经常遇到的问题,然而TF-IDF算法就可以解决。这两天因为要用到这个算法,就先学习了解一下。 TF-IDF概述       在接触一个新算法时,首先当然是先去了解这个算法的本质,在此,我们先引用百度百科上的解释:TF-IDF(term

2017-01-19 11:17:06 819

转载 Running Spark on YARN

原文链接Spark在 0.6.0版本后支持在YARN(hadoop NextGen)上运行,并且在后续版本中不断改进。在YARN上启动Spark首先,确认 HADOOP_CONF_DIR或YARN_CONF_DIR指向的包含了Hadoop集群的配置文件。这些配置用于操作HDFS和连接YARN资源管理器。在这个目录下的这些配置文件将被分发到YARN集群中,因此应用所使用的容器能够

2017-01-19 10:16:22 564

转载 Windows 的键盘快捷键

概要本文列出了在 Windows 中可以使用的键盘快捷键。更多信息Windows 系统组合键F1:帮助CTRL+ESC:打开“开始”菜单ALT+TAB:在打开的多个程序之间切换ALT+F4:退出程序SHIFT+DELETE:永久删除项目Windows 徽标+L:锁定计算机 (不使用 CTRL+A

2017-01-18 18:19:56 393

转载 Linux命令行下编辑常用的快捷键

移动光标ctrl+b: 前移一个字符(backward)ctrl+f: 后移一个字符(forward)alt+b: 前移一个单词alt+f: 后移一个单词ctrl+a: 移到行首(a是首字母)ctrl+e: 移到行尾(end)ctrl+x: 行首到当前光标替换编辑命令alt+.: 粘帖最后一次命令最后的参数(通常用于mkdir long-long-dir后, cd配合着al

2017-01-18 18:17:53 541

转载 深度学习word2vec笔记

基础篇算法篇应用篇深度学习word2vec笔记之基础篇一.前言伴随着深度学习的大红大紫,只要是在自己的成果里打上deep learning字样,总会有人去看。深度学习可以称为当今机器学习领域的当之无愧的巨星,也特别得到工业界的青睐。在各种大举深度学习大旗的公司中,Google公司无疑是旗举得最高的,口号喊得最响亮的那一个。2013年末,Google发布的word2vec工具引起了一

2017-01-18 12:05:17 1860

转载 Spark2.0.1 on yarn with hue 集群安装部署(六)livy安装测试

原文链接:http://www.infocool.net/kb/Spark/201611/224780.htmllivy安装测试一、R安装如果未安装R,可以先安装R,用于支持SparkR,如果yum源中没有R语言的安装包,可以从官网下载相应版本进行手动编译安装。sudo yum install R1安装rJava 下载地址: https://cr

2017-01-18 10:16:22 2259

转载 ArrayList和Vector区别

首先看这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList、Vector和LinkedList。List用于存放多个元素,能够维护元素的次序,并且允许元素的重复。3个具体实现类的相关区别如下:ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就

2017-01-18 10:05:57 301

转载 HashMap和Hashtable的区别

HashMap和Hashtable的比较是Java面试中的常见问题,用来考验程序员是否能够正确使用集合类以及是否可以随机应变使用多种思路解决问题。HashMap的工作原理、ArrayList与Vector的比较以及这个问题是有关Java 集合框架的最经典的问题。Hashtable是个过时的集合类,存在于Java API中很久了。在Java 4中被重写了,实现了Map接口,所以自此以后也成了Java

2017-01-18 10:04:53 234

转载 Java wait和sleep的区别

sleep()方法  sleep()使当前线程进入停滞状态(阻塞当前线程),让出CUP的使用、目的是不让当前线程独自霸占该进程所获的CPU资源,以留一定时间给其他线程执行的机会;   sleep()是Thread类的Static(静态)的方法;因此他不能改变对象的机锁,所以当在一个Synchronized块中调用Sleep()方法是,线程虽然休眠了,但是对象的机锁并木有被释放,其他线程

2017-01-17 18:09:34 255

转载 详细探究Spark的shuffle实现

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

2017-01-17 16:59:19 291

转载 Elasticsearch增删改查

增删改查增删改查是数据库的基础操作方法。ES 虽然不是数据库,但是很多场合下,都被人们当做一个文档型 NoSQL 数据库在使用,原因自然是因为在接口和分布式架构层面的相似性。虽然在 Elastic Stack 场景下,数据的写入和查询,分别由 Logstash 和 Kibana 代劳,作为测试、调研和排错时的基本功,还是需要了解一下 ES 的增删改查用法的。数据写入ES 的一大特点,就

2017-01-17 15:46:14 4986

转载 elasticsearch建立索引操作的API

ElasticSearch-API-Index索引创建API允许初始化一个索引。ElasticSearch对多重索引提供了支持,包括跨多个索引执行操作。每个索引在创建时可以让一个特定的设置项与其关联。最简单的方式创建索引curl -XPUT ‘http://localhost:9200/twitter/'在创建索引的时候指定分片和副本数量,参数格式采用YAML格式

2017-01-17 15:44:20 13953

转载 elasticsearch写入数据存储的过程

es建索引写入数据,数据最先是存在内存buffer里的,然后再刷入到lucene的底层文件segment中;写入segment完毕后再执行refresh操作,refresh操作后,数据将commit到磁盘中。数据刷入到了磁盘,就可以执行查询操作了。       过程简单描述如下:内存buffer-->segment-->refresh-->磁盘       

2017-01-17 15:42:48 13753 2

转载 Elasticsearch技巧指南

任务目标- 了解 Elasticsearch 的底层存储- 熟悉 HTTP 接口和 RESTful API- 了解 Elasticsearch 的调优与运维基本原理这部分内容虽然不一定对工程有立竿见影的帮助,但是知其然还知其所以然,才是高手的做事风格。那么问题来了写入的数据是如何变成 Elasticsearch 里可以被检索和聚合的索引内容的?

2017-01-17 15:41:32 3229

转载 JVM常用分析工具JPS/JINFO/JSTACK/JSTAT/JMAP详解

原文链接:http://nolinux.blog.51cto.com/4824967/1588716最近一直在上项目,导致博主天天加班幸福感爆棚,有木有。      平时一直没有关注过JVM,最近上了一个新的项目,它对内存的需求量比较大,导致目前项目在用的JVM参数不能满足他的需求。起初还没发现是这方面问题,后来在启动的时候报错了,一报错不要紧,要紧就要紧在博主我要调整JVM的

2017-01-17 10:24:07 703

原创 Spark SQL与DataFrame

Spark SQL是2013年出现的

2017-01-16 17:20:11 1054

原创 Hive概述

Hive本质是什么?1.Hive是分布式数据仓库,同时又是查询引擎,所有Spark SQL取代只是Hive查询引擎,在企业中Hive + Spark SQL是目前最为经典的数据分析组合。2.Hive本身是一个单机版本软件,主要负责:   a) 把HQL翻译成Mapper(s)-Reducer-Mapper(s)代码,并且可能产生很多MapReduces的Job   b) 把生产的M

2017-01-16 16:20:23 819

原创 Spark任务调度

Spark是采用Master-Slave的模式进行资源管理和任务执行管理的:1)资源管理:Master-Workers,在一台机器上可以有多个Workers。2)任务执行:Driver-Executors,在一台机器上分配多个Worker的时候,那么默认情况下每个Worker下面都会为当前运行的应用程序分配一个Executor,但是可以修改配置来让每个Worker为当前的应用程序分配若干个

2017-01-16 14:57:47 1162

原创 Spark blockmanager架构

从Application启动的角度来观察BlockManager运行1.在Application启动的时候,会在SparkEnv中注册BlockManagerMaster以及MapOutputTracker,其中 a>BlockManagerMaster:对整个集群的Block数据进行管理 b>MapOutputTrackerMaster:跟踪所有的Mapper的输出的2.Bl

2017-01-16 13:52:25 1028

原创 Spark Task执行原理

Task执行原理流程:1.当Driver中SchedulerBackend给ExecutorBackend发送launchTask之后,首先会反序列化TaskDescription。2.Executor会通过launchTask来执行Task3.Executor会通过TaskRunner在ThreadPool来运行具体的Task,TaskRunner的run方法中首先会通过调用stat

2017-01-16 12:22:55 1681

原创 Spark TaskSchedule思想

1.当启动Spark-shell本身的时候命令终端返回的是ClientEndpoint和SparkDeploySchedulerBackend,这是因为此时还没有任何Job的触发,只是启动Application本身而已,所以只是实例化SparkContext并注册当前的应用程序给Master且从集群获得ExecutorBackend计算资源;2.

2017-01-16 10:14:18 1201

原创 Spark Stage的划分

Stage划分算法1.Spark Application中可以因为不同的Action触发众多的Job,也就是说一个Application中可以有很多的Job,每个Job是由一个或者多个Stage构成的,后面的Stage依赖于前面的Stage,也就是说只有前面的Stage计算完毕后,后面的Stage才会运行。2.Stage划分的依据就是宽依赖,reduceByKey、groupByKey等

2017-01-13 18:44:56 959

原创 Spark Master的注册机制

2017-01-13 17:57:37 598

原创 Spark Master HA思想

2017-01-13 16:33:10 337

原创 Spark SparkContext思想

2017-01-13 15:54:55 559

原创 Spark on YARN思想

Hadoop YARN1.YARN

2017-01-13 10:29:50 399

空空如也

空空如也

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

TA关注的人

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