- 博客(36)
- 资源 (1)
- 收藏
- 关注
转载 GitHub编程资源分享
源参考链接:https://github.com/crane-yuan/free-programming-books/blob/master/free-programming-books-zh.md目录语言无关IDEMySQLNoSQLPostgreSQLWebWEB服务器其它函数式概念分布式系统在线教育大数据操作系统数据库智能系统正则表达式版本控制程序员杂谈管理和监控编程
2017-03-31 14:19:58 4001
转载 跑步、列计划、早起、读书、独处…自律真的能改变人生
富兰克林说“我从未见过一个早起勤奋谨慎诚实的人抱怨命运不好;良好的品格、优秀的习惯,坚强的意志,是不会被假设所谓的命运击败的。”自律是解决人生问题的最主要工具,也是消除人生痛苦最重要的方法;自律能让一个人在365天成长为更好的自己。本文来自一位通过自律改变自己生活状态的妈妈,她的读书、跑步、早起、学会独处等优良习惯值得我们学习,与泥萌分享~2016年,于我而言是不平
2017-03-31 13:58:01 887
转载 有前途的程序员的14个习惯,你有几个?
慎于说Yes在没有搞清楚开发需求、任务工作量、团队期望值之前,有前途的程序员不会轻易答应。特别是对于新人来说,比较急于表现自己,对于同事或者老板的工作安排来者不拒,精神可嘉,方法不可取。承诺太多,会出现自己无法按时完成的情况,即使按时完成,也可能没有达到别人的期望值,长期以往别人对你的失望会越来越多。敢于说No看起来和第一条雷同,其实细究
2017-03-31 11:18:59 259
转载 十年开发,我总结出了这12条经验
在一线做了十年的开发,经历了网易、百度、腾讯研究院、MIG等几个地方,陆续做过3D游戏、2D页游、浏览器、移动端翻译app等。积累了一些感悟。必然有依然幼稚的地方,就当抛砖引玉,聊为笑谈。一、对于团队而言,流程太重要了行军打仗,你需要一个向导;如果没有向导,你需要一个地图;如果没有地图,至少要学习李广,找一匹识途的老马;如果你
2017-03-31 09:41:35 379
原创 你真的会用Gson吗?Gson使用指南(一)
JSON (官网) 是一种文本形式的数据交换格式,它比XML更轻量、比二进制容易阅读和编写,调式也更加方便。其重要性不言而喻。解析和生成的方式很多,Java中最常用的类库有:JSON-Java、Gson、Jackson、FastJson等。该系列其它文章你真的会用Gson吗?Gson使用指南(一)你真的会用Gson吗?Gson使用指南(二)你真的会用Gson吗?Gson使用指南
2017-03-28 20:51:03 626
原创 Elasticsearch之client源码简要分析
问题让我们带着问题去学习,效率会更高1 es集群只配置一个节点,client是否能够自动发现集群中的所有节点?是如何发现的?2 es client如何做到负载均衡?3 一个es node挂掉之后,es client如何摘掉该节点?4 es client node检测分为两种模式(SimpleNodeSampler和SniffNodesSampler)
2017-03-25 11:44:35 1653
转载 Spark运行流程
问题导读1.Spark运行包含哪些流程?2.本文认为Spark运行架构有哪些特点?3.DAGScheduler的作用是什么?4. RDD在Spark架构中是如何运行的?5.Spark on Standalone运行包含哪些过程?1.Spark运行基本流程参见下面示意图1.构建Spark Application的运行环境(启动Spark
2017-03-23 11:38:04 2263
转载 spark调度分析: DAGScheduler, TaskScheduler, SchedulerBackend
1、Runtime是如何执行的?2、DAGScheduler主要职能有哪些?3、TaskScheduler主要职能有哪些?4、SchedulerBackend主要职能有哪些?Spark Runtime里的主要层次分析,梳理Runtime组件和执行流程, DAGSchedulerJob=多个stage,Stage=多个同种task, Task分为S
2017-03-22 13:56:45 579
原创 Spark核心概念
1、Application 基于spark的用户程序,包含了一个Driver Program以及集群上中多个executor; spark中只要有一个sparkcontext就是一个application; 启动一个spark-shell也是一个application,因为在启动shark-shell时就内置了一个sc(SparkContext的实例);
2017-03-20 20:48:10 426
原创 RDD缓存策略
park支持将数据集放置在集群的缓存中,以便于数据重用。Spark缓存策略对应的类:class StorageLevel private( private var useDisk_ : Boolean, private var useMemory_ : Boolean, private var useOffHeap_ : Boolean,
2017-03-20 20:45:43 945
原创 Spark分析之MemoryStore
private case class MemoryEntry(value: Any, size: Long, deserialized: Boolean)class MemoryStore(blockManager: BlockManager, maxMemory: Long)extends BlockStore(blockManager) { private val entries
2017-03-20 20:43:48 740
原创 Spark运行架构
1、构建Spark Application运行环境;在Driver Program中新建SparkContext(包含sparkcontext的程序称为Driver Program);Spark Application运行的表现方式为:在集群上运行着一组独立的executor进程,这些进程由sparkcontext来协调;2、SparkContext向资源管理器申请运行Ex
2017-03-20 20:41:50 338
原创 Spark On YARN
为什么要使用YARN?数据共享、资源利用率、更方便的管理集群等。详情参见:http://www.cnblogs.com/luogankun/p/3887019.html Spark YARN版本编译编译hadoop对应的支持YARN的Spark版本export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:R
2017-03-20 20:35:13 349
原创 Spark分析之Standalone运行过程分析
一、集群启动过程--启动Master$SPARK_HOME/sbin/start-master.shstart-master.sh脚本关键内容:spark-daemon.sh start org.apache.spark.deploy.master.Master 1 --ip $SPARK_MASTER_IP --port $SPARK_MASTER_PORT --we
2017-03-20 20:34:36 352
原创 Spark分析之Dependency
在Spark中,每一个RDD是对于数据集在某一状态下的表现形式,比如说:map、filter、group by等都算一次操作,这个状态有可能是从前一状态转换而来的;因此换句话说一个RDD可能与之前的RDD(s)有依赖关系;RDD之间存在依赖关系;根据依赖关系的不同,可以将RDD分成两种不同的类型:宽依赖和窄依赖。窄依赖:一个父RDD的partition至多被子RDD的某
2017-03-20 20:33:49 442 1
原创 Spark分析之Master、Worker以及Application三者之间如何建立连接
Master.preStart(){ webUi.bind() context.system.scheduler.schedule(0 millis, WORKER_TIMEOUT millis, self, CheckForWorkerTimeOut) //定时任务检测是否有DEAD WORKER需要移除 case CheckForWorkerTimeOut => { t
2017-03-20 20:33:04 2519
原创 Spark分析之Worker
override def preStart() { webUi = new WorkerWebUI(this, workDir, Some(webUiPort)) webUi.bind() //创建并绑定UI registerWithMaster() //注册到Master}def tryRegisterAllMasters() { for (master
2017-03-20 20:32:14 420
原创 Spark分析之Master
override def preStart() { logInfo("Starting Spark master at " + masterUrl) webUi.bind() //绑定WEBUI masterWebUiUrl = "http://" + masterPublicAddress + ":" + webUi.boundPort context.sy
2017-03-20 20:31:26 972
原创 Spark数据本地性
1、文件系统本地性 第一次运行时数据不在内存中,需要从HDFS上取,任务最好运行在数据所在的节点上;2、内存本地性 第二次运行,数据已经在内存中,所有任务最好运行在该数据所在内存的节点上;3、LRU置换 如果数据只缓存在内存中而并没有缓存到磁盘上,此时数据被置换出内存,则从HDFS上读取; 如果数据不仅缓存到内存而且还缓存到磁盘上,此时数据被
2017-03-20 20:27:30 552
原创 Spark分析之BlockManager
BlockManager中存储block的流程: doPut()方法 入参:blockId, data, level, tellMaster1)为block创建BlockInfo并加锁使其不能被其他线程访问;2)按照block的存储级别:useMemory, useOffHeap, useDisk进行存储,并标识该block可以被其他线程访问; 注:只要使用了u
2017-03-20 20:25:30 715
原创 Spark分析之Job Scheduling Process
经过前面文章的SparkContext、DAGScheduler、TaskScheduler分析,再从总体上了解Spark Job的调度流程1、SparkContext将job的RDD DAG图提交给DAGScheduler;2、DAGScheduler将job分解成Stage DAG,将每个Stage的Task封装成TaskSet提交给TaskScheduler;窄依
2017-03-20 20:20:48 389
原创 Spark分析之TaskScheduler
TaskScheduler概述:TaskScheduler是一个可插拔任务调度接口,通过不同的SchedulerBackend进行任务的调度。主要功能如下:1、一个TaskScheduler只为一个SparkContext服务,接收DAGScheduler提交过来的一组组的TaskSet;2、TaskScheduler将task提交到集群中并执行,如果其中某个Task执行失
2017-03-20 20:19:53 498
原创 Spark分析之DAGScheduler
DAGScheduler概述:是一个面向Stage层面的调度器;主要入参有:dagScheduler.runJob(rdd, cleanedFunc, partitions, callSite, allowLocal,resultHandler, localProperties.get)rdd: final RDD;cleanedFunc: 计算每个分区的函数;
2017-03-20 20:19:14 341
原创 Spark分析之SparkContext启动过程分析
SparkContext作为整个Spark的入口,不管是spark、sparkstreaming、spark sql都需要首先创建一个SparkContext对象,然后基于这个SparkContext进行后续RDD的操作;所以很有必要了解下SparkContext在初始化时干了什么事情。 SparkContext初始化过程主要干了如下几件事情:1、根据SparkContex
2017-03-20 20:17:36 1124
转载 选个关注热度上升的大数据工具学习下吧
本文列举了大数据相关的部分热门项目,盘点了该生态圈目前流行的一些开源产品和工具,并用google热度趋势图体现了它们的受关注程度。从不同的热度趋势,可以了解到每一个产品在近5年来全球受关注的走势,是越来越受重视还是渐渐淡出。在QCon2016 北京站上,Druid开源项目的负责人,Imply联合创始人Fangjin Yang分享了题为 《Evolution of Open Source
2017-03-10 17:27:25 1310
转载 数据驱动决策的13种思维方式
第一、信度与效度思维这部分也许是全文最难理解的部分,但我觉得也最为重要。没有这个思维,决策者很有可能在数据中迷失。信度与效度信度与效度的概念最早来源于调查分析,但现在我觉得可以引申到数据分析工作的各方面。所谓信度,是指一个数据或指标自身的可靠程度,包括准确性和稳定性取数逻辑是否正确?有没有计算错误?这属于准确性;每次计算的算法是否稳定?口径是否一致?以相同的
2017-03-10 16:57:38 3516
转载 TF-IDF与余弦相似性文本处理:自动提取关键词、找出相似文章
这个标题看上去好像很复杂,其实我要谈的是一个很简单的问题。有一篇很长的文章,我要用计算机提取它的关键词(Automatic Keyphrase extraction),完全不加以人工干预,请问怎样才能正确做到?这个问题涉及到数据挖掘、文本处理、信息检索等很多计算机前沿领域,但是出乎意料的是,有一个非常简单的经典算法,可以给出令人相当满意的结果。它简单到都不需要高等数学,
2017-03-10 15:33:20 1353
转载 一图读懂JVM架构解析
本文阐述了JVM的构成和组件,配图清晰易懂,是学习Java开发者的入门必读文章。每个Java开发人员都知道字节码经由JRE(Java运行时环境)执行。但他们或许不知道JRE其实是由Java虚拟机(JVM)实现,JVM分析字节码,解释并执行它。作为开发人员,了解JVM的架构是非常重要的,因为它使我们能够编写出更高效的代码。本文中,我们将深入了解Java中的JVM架构和JVM的各个
2017-03-10 15:20:52 374
转载 浅谈知识图谱数据管理
近年来随着“人工智能”概念的再度活跃,除了“深度学习”这个炙手可热的名词以外,“知识图谱”无疑也是研究者、工业界和投资人心目中的又一颗“银弹”。简单地说,“知识图谱”就是以图形(Graph)的方式来展现“实体”、实体“属性”,以及实体之间的“关系”。下图是截取的Google的知识图谱介绍网页中的一个例子。在例子中有4个实体,分别是“达芬奇”,“意大利”,“蒙拉丽莎”和“米可朗基罗”。这个图明确地展
2017-03-10 14:52:07 4455
转载 如何管理技术团队?我的 6 个建议
我工作近 10 年,是程序员出身,有大概 5 年的管理经验,最多管理过 40 人的技术团队。本文是个人的一些观点和建议,以及这些年的一点感悟,希望对于管理人员,特别是中层管理者有点用处。管理技术团队,其实也是管理的一种。我个人认为,管理能力的核心包含两方面,一是针对人,对人性的了解程度以及沟通能力。二是对事,是否有强大的统筹规划协调能力。当然,这是对于广义上
2017-03-07 21:34:10 1340
转载 分布式系列文章——Paxos算法原理与推导
axos算法在分布式领域具有非常重要的地位。但是Paxos算法有两个比较明显的缺点:1.难以理解 2.工程实现更难。网上有很多讲解Paxos算法的文章,但是质量参差不齐。看了很多关于Paxos的资料后发现,学习Paxos最好的资料是论文《Paxos Made Simple》,其次是中、英文版维基百科对Paxos的介绍。本文试图带大家一步步揭开Paxos神秘的面纱。Paxos是什么
2017-03-07 21:15:07 314
转载 怎样写出漂亮整洁的代码?聊聊clean code的编码、重构技巧
本文从clean code的几个大前提出发,提出了实践clean code的一些手段,重点放在促成clean code的一些常用编码和重构技巧。本文只代表笔者本人的一点点感悟。好的代码,最需要的,还是大家不断追求卓越的精神。你有什么经验可以分享呢?注:本文授权转自美团点评技术团队写在前面clean code,顾名思义就是整洁的代码,或者说清晰、漂亮的代码,相信大多数工程师都希望
2017-03-07 20:42:08 721
转载 十张图教你看懂员工为什么工作不积极!
作者:李开复 和员工建立长期稳定的雇佣关系确实是非常困难的,因为员工有时也会很“脆弱”。作为经理,你需要倾尽所能的让员工开心并投入到工作中。通常问题出在老板身上,而不是公司、宗旨使命、同事身上。作为经理读完这篇文章,你应该尽量避开这些错误。好领导的秘诀是做真实可信的人,对员工诚实。1.事无巨细的管理方式你认为自己比员工能干
2017-03-07 20:10:21 981
转载 在 Python 应用中使用 MongoDB
在这篇文章中,将向您展示如何使用Python链接目前主流的MongoDB(V3.4.0)数据库,主要使用PyMongo(v3.4.0)和MongoEngine(V0.10.7)。同时比较SQL和NoSQL。1、SQL vs NoSQL如果你不是很熟悉NoSQL这个概念,MongoDB就是一个NoSQL数据库。近几年来它越来越受到整个行业的欢迎。NoSQL数据
2017-03-07 19:51:38 1972
原创 Spark执行模式解析
摘要:本文主要讲了Spark几种不同的执行模式以及其原理一、执行模式提交脚本常见的语法:[plain] view plain copy ./bin/spark-submit \ --class --master \ --deploy-mode \ --conf = \ ... #
2017-03-07 17:23:44 295
转载 基于Hadoop的数据仓库Hive 基础知识
Hive是基于Hadoop的数据仓库工具,可对存储在HDFS上的文件中的数据集进行数据整理、特殊查询和分析处理,提供了类似于SQL语言的查询语言–HiveQL,可通过HQL语句实现简单的MR统计,Hive将HQL语句转换成MR任务进行执行。一、概述1-1 数据仓库概念数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Int
2017-03-02 12:15:15 757
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人