自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

剑儒

剖析技术难点、感悟人生百态~~~

  • 博客(39)
  • 资源 (6)
  • 收藏
  • 关注

原创 我的面试准备纲要

本文是我在2013年找工作时给自己准备的面试纲要,此时以博客的形式写出来也算是对自己研究生生涯的一个小小总结吧。面试准备(1)   在纸上写代码;(2)   熟悉你的简历:对参与的项目或者科研活动进行总结;阐述解决过得最困难的或者最有意义的问题;(3)   切记,不要机械地记忆算法书上的解答,而是要理解算法实质;(4)   面试官希望了解你思考和处理问题的方式,因此在解决问

2014-05-15 10:55:53 1399

原创 Redis,MemCached,MongoDB 概述

Redis(1)       数据模型:Redis是KeyValue型数据库,除了常规的数值或字符串,还支持:Lists列表、Sets集合、Sorted sets有序集合、Hashes哈希表。(2)       持久化:使用快照,将内存中的数据不断写入磁盘;或使用类似MySQL的日志方式,记录每次更新的日志。Memcached       高性能的分布式内存对象缓存系统,用于动态W

2014-05-08 15:57:24 889

转载 我的算法学习之路

关于严格来说,本文题目应该是我的数据结构和算法学习之路,但这个写法实在太绕口——况且CS中的算法往往暗指数据结构和算法(例如算法导论指的实际上是数据结构和算法导论),所以我认为本文题目是合理的。如果你使用的是手机或平板设备,那么请点击下面的链接以获得更好的阅读效果:http://zh.lucida.me/blog/on-learning-algorithms/原文作

2014-05-05 17:10:10 737

原创 从几幅架构图中偷得半点海量数据处理经验

1、淘宝海量数据产品技术架构

2014-04-21 15:15:13 874

原创 海量数据处理之Bloom Filter详解

一、什么是Bloom FilterBloomFilter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。BloomFilter的这种高效是有一定代价的:在判断一个元素是否属于某个集合时,有可能会把不属于这个集合的元素误认为属于这个集合(falsepositive)。因此,BloomFilter不适合那些“零错误”的应用场合。而在能容忍低错误

2014-04-21 15:08:46 736

原创 从Hadoop框架与MapReduce模式中谈海量数据处理

前言:几周前,当我最初听到,以致后来初次接触Hadoop与MapReduce这两个东西,我便稍显兴奋,觉得它们很是神秘,而神秘的东西常能勾起我的兴趣,在看过介绍它们的文章或论文之后,觉得Hadoop是一项富有趣味和挑战性的技术,且它还牵扯到了一个我更加感兴趣的话题:海量数据处理。由此,最近凡是空闲时,便在看“Hadoop”,“MapReduce”“海量数据处理”这方面的论文。但在看论文的过程中,总

2014-04-21 14:56:19 801

转载 教你如何迅速秒杀掉:99%的海量数据处理面试题

前言:一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我也甘愿背负这样的罪名,:-)。毕竟受文章和理论之限,本文将摒弃绝大部分的细节,只谈方法/模式论,且注重用最通俗最直白的语言阐述相关问题。最后,有一点必须强调的是,全文行文是基于面试题的分析基础之上的,具体实践过程中,还是得具体情况具体分析,且场

2014-04-21 14:40:19 1303

转载 海量数据处理:十道面试题与十个海量数据处理方法总结

1、海量日志数据,提取出某日访问百度次数最多的那个IP。      首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大的几个)及相应的频率。然后再在这1000

2014-04-21 14:38:05 942

转载 海量数据处理常用算法、数据结构总结

1. Bloom Filter【Bloom Filter】       Bloom Filter(BF)是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。它是一个判断元素是否存在集合的快速的概率算法。Bloom Filter有可能会出现错误判断,但不会漏掉判断。Bloom Filter判断元素不在集合,那肯定不在;如果判断元素存在

2014-04-21 14:35:51 3192

原创 设计模式总结

23个设计模式概括1、Abstract Factory(抽象工厂模式):提供一个创建一系列相关或者相互依赖的对象的接口,但无需指定它们具体的类。2、Adapter(适配器模式):将一个类的接口转换成客户希望的另一个接口,从而使原本因接口不兼容无法一起工作的类可以一起工作。3、Bridge(桥接模式):将抽象部分和实现部分分离,从而使它们可以独立变化。4、Builder(构建者模式)

2014-04-09 20:34:06 720

原创 位操作基础篇之位操作全面总结

位操作篇分为基础篇和提高篇,基础篇主要对位操作进行全面总结,帮助大家梳理知识。提高篇则针对各大IT公司如微软、腾讯、百度、360等公司的笔试面试题作详细的解答,使大家能熟练应对在笔试面试中位操作题目。下面就先来对位操作做个全面总结,欢迎大家补充。在计算机中所有数据都是以二进制的形式储存的。位运算其实就是直接对在内存中的二进制数据进行操作,因此处理数据的速度非常快。在实际编程中,如果能巧妙运用位

2014-04-08 21:45:31 742

原创 背包问题深度解析

背包问题深度解析:01背包 &完全背包 & 多重背包,重点推导出动态转移方程01背包问题:有N件物品和一个容量为V的背包,第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。(01背包问题:物品都仅有一件,要么选中物品;要么不选择物品,物品不可分隔)基本思路:用f[i][v]表示前i件物品恰好放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是

2014-04-07 21:50:32 1153

原创 详解MapReduce的模式、算法和用例

HadoopMapReduce jobs可以切分成一系列运行于分布式集群中的map和reduce任务,每个任务只运行全部数据的一个指定的子集,以此达到整个集群的负载平衡。Map任务通常为加载,解析,转换,过滤数据,每个reduce处理map输出的一个子集。Reduce任务会去map任务端copy中间数据来完成分组,聚合。MapReduce 的输入是hdfs上存储的一系列文件集。每个map任务被

2014-04-06 19:23:44 4768

原创 MapReduce常见设计模式解析

Summarization Patterns(总结归纳模式):数值聚合、倒排索引、单词计数相同Key的数据分组汇聚是MapReduce核心,所以总结归纳模式是最容易想到的,书中提到了数值归纳,倒排索引的例子.单词计数就是这类应用的典型,计算过程中高度并行化,Map阶段产出的数据行是信息完备的,后续阶段计算不需要参考其它数据行;这就保证了计算是可以并行实施:不依赖其它数据行,不依赖计算顺序.中值

2014-04-06 19:19:51 1998

原创 MapReduce设计模式总结

MapReduce中的两表join方案简介1. 概述在传统数据库(如:MYSQL)中,JOIN操作是非常常见且非常耗时的。而在Hadoop中进行JOIN操作,同样常见且耗时,由于Hadoop的独特设计思想,当进行JOIN操作时,有一些特殊的技巧。本文首先介绍了Hadoop上通常的JOIN实现方法,然后给出了几种针对不同输入数据集的优化方法。  2. 常见的join方法介绍(假设要进行j

2014-04-06 19:18:24 2168

原创 Hadoop学习总结

1.      Apache Hadoop成员组成Apache Hadoop 是一个用java语言实现的软件框架,在由大量计算机组成的集群中运行海量数据的分布式计算,它可以让应用程序支持上千个节点和PB级别的数据。阿里巴巴集团、雅虎北京全球软件研发中心、中国移动研究院、英特尔研究院、金山软件、百度、腾讯、新浪、搜狐、IBM、Facebook、Amazon、Yahoo!、Adobe、Hulu

2014-04-05 19:32:52 2439

原创 成为JavaGC专家

成为JavaGC专家PartI — 深入浅出Java垃圾回收机制对于Java开发人员来说,了解垃圾回收机制(GC)有哪些好处呢?首先可以满足作为一名软件工程师的求知欲,其次,深入了解GC如何工作可以帮你写出更好的Java应用。这仅仅代表我个人的意见,但我坚信一个精通GC的人往往是一个好的Java开发者。如果你对GC的处理过程感兴趣,说明你已经具备较大规模应用的开发经验。如果你曾经想过如何正确的

2014-04-05 18:33:17 1539

原创 JVM性能优化

JVM性能优化,Part 1 ―― JVM简介 众所周知,Java应用程序是运行在JVM上的,但是你对JVM有所了解么?作为这个系列文章的第一篇,本文将对经典Java虚拟机的运行机制做简单介绍,内容包括“一次编写,到处运行”的利弊、垃圾回收的基本原理、常用垃圾回收算法的示例和编译器优化等。后续的系列文章将会JVM性能优化的内容进行介绍,包括新一代JVM的设计思路,以及如何支持当今Java应用程

2014-04-05 18:23:30 1883

原创 JVM垃圾回收机制

每个Java程序员迟早都会碰到下面这个错误:java.lang.OutOfMemoryError.这个时候一般会建议采用如下方式解决这个错误:增加MaxPermSize值;增加最大堆内存到512M(-xmx参数)这篇文章会具体介绍Java堆空间和参数MaxPermSize的含义。这篇文章涉及下列主题,并采用HotspotJVM:垃圾回收器(Garbage Collector,GC)?哪个J

2014-04-05 18:13:44 738

原创 Hadoop技术细节遗珠

Hadoop使用细节总结细节1:正确输出中文!(Hadoop正确输出UTF-8格式的中文,而不支持GBK格式的中文)       曾经有次需要输出中文,但是在Hadoop中打印出来的却是乱码。一开始以为Hadoop的设计者当初设计Hadoop时就不支持输出中文,后来通过查看TextOutputFormat的源代码,发现Hadoop仅仅是不支持以GBK格式输出中文罢了。       Ha

2014-04-05 14:01:30 767

原创 YARN(YetAnother Resource Negotiator)

YARN(YetAnother Resource Negotiator)YARN:针对MapReduce在扩展性和多框架支持方面的不足(扩展性受限、单点故障、难以支持MR之外的计算),提出了全新的资源管理框架YARN,它将JobTracker中的资源管理和作业控制功能分开,分别由两个不同进程ResourceManager和ApplicationMaster实现,其中ResourceManage

2014-04-05 13:58:34 4097

转载 Spark:一个高效的分布式计算系统

概述什么是Spark?Spark是UCBerkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于mapreduce算法实现的分布式计算,拥有HadoopMapReduce所具有的优点;但不同于MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的ma

2014-04-05 13:53:37 1287

转载 程序员技术练级攻略

月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Mailper)告诉我,他希望在酷壳上看到一篇更具操作性的文章。因为他也是喜欢编程和技术的家伙,于是,我让他把他的一些学习Python和Web编程的一些点滴总结一下。于是他给我发来了一些他的心得和经历

2014-04-05 12:58:37 1171

转载 Hadoop工具帮你驯服大数据

Hadoop已经通过自身的蓬勃发展证明,它不仅仅是一套用于将工作内容传播到计算机群组当中的小型堆栈--不,这与它的潜能相比简直微不足道。这套核心的价值已经被广泛证实,目前大量项目如雨后春笋般围绕它建立起来。有些项目负责数据管理、有些负责流程监控、还有一些则提供先进的数据存储机制。

2014-04-05 11:36:13 770

转载 一些实用的 Java / C++ 开源项目整理

本文整理了一些JAVA/C++开源项目,这些项目在我的博客中分别介绍过,为了方便阅读和使用,我进行了整理。 Java项目: Java 全能高效 MVC & REST 开发框架 Portal-BasicJava 日志切割清理工具 Log-CutterC++项目: 通用高性能 Windows Socket 组件 HP-SocketWindows C++ 应用程序

2014-04-05 11:26:08 796

原创 Eclipse调试技巧

摘要:调试不仅可以查找到应用程序缺陷所在,还可以解决缺陷。对于Java程序员来说,他们不仅要学会如何在Eclipse里面开发像样的程序,更需要学会如何调试程序。本文介绍了Java程序员必知的10个调试技巧,保证让你受益匪浅!调试可以帮助识别和解决应用程序缺陷,在本文中,作者将使用大家常用的的开发工具Eclipse来调试Java应用程序。但这里介绍的调试方法基本都是通用的,也适用于Net

2014-04-05 10:52:41 546

转载 29 本关于数据库、数据挖掘和信息检索的免费电子书

英文原文:29 Free eBooks On Databases, Data Mining And Information Retrieval  信息检索、数据库和数据挖掘是 IT 世界目前最流行的事情!要对这方面的知识了解更多,可以在线阅读和下载下面 29 本绝对免费的电子书。阅读愉快!  1. 高级文本挖掘理论及其应用  Shigeaki Sakurai 编写,InTe

2014-04-05 10:06:57 1602

转载 Storm集群安装

Storm集群安装需要依次完成的安装步骤:搭建Zookeeper集群;安装Storm依赖库;下载并解压Storm发布版本;修改storm.yaml配置文件;启动Storm各个后台进程。2.1 搭建Zookeeper集群Storm使用Zookeeper协调集群,由于Zookeeper并不用于消息传递,所以Storm给Zookeeper带来的压力相当低。大多数情况下,单个节点的Zook

2013-11-18 10:45:02 710

转载 Spark集群安装

折腾了几天,终于把Spark 集群安装成功了,其实比hadoop要简单很多,由于网上搜索到的博客大部分都还停留在需要依赖mesos的版本,走了不少弯路。1. 安装 JDK 1.7yum search openjdk-develsudo yum install java-1.7.0-openjdk-devel.x86_64/usr/sbin/alternatives --config

2013-11-18 10:41:27 1248 1

原创 Hadoop集群配置

1 前提确保集群中的每个节点(机器)上都安装了所有必需软件:JDK  ,ssh,HadoopJavaTM1.5.x,必须安装,建议选择Sun公司发行的Java版本。ssh 必须安装并且保证 sshd一直运行,以便用Hadoop 脚本管理远端Hadoop守护进程。2 实验环境搭建   2.1  配置主机名和对应的ip地址之间的关系     输入命令:s

2012-06-16 23:03:50 594

原创 基于Hadoop的应用程序开发

第一步:先启动hadoop守护进程。进入hadoop安装目录,输入:bin/hadoop namenode -format             bin/start-all.sh第二步:在eclipse上安装hadoop插件1.复制 hadoop安装目录/contrib/eclipse-plugin/hadoop-0.20.2-eclipse-plugin.jar 到 eclipse

2012-06-15 10:00:45 3118

原创 Hadoop入门系列4——安装,配置,编程,部署和运行

Hadoop入门系列2,3——安装,配置,编程,部署和运行中介绍了具体的mapreduce应用程序的编程,接下来将介绍如何通过eclipse进行部署和程序的运行。第一步,我们先启动Hadoop守护进程。wjm@ubuntu:~/hadoop-0.20.2$ bin/start-all.sh第二步,在Eclipse下安装hadoop-plugin。1.复制 hadoop安

2012-03-11 16:54:06 808

原创 Hadoop入门系列3——安装,配置,编程,部署和运行

Hadoop入门系列2——安装,配置,编程,部署和运行中介绍了一个WordCount的mapreduce应用开发,接下来继续介绍一个求平均分数的mapreduce应用开发package seu.mapreduce.computescore;import java.io.IOException;import java.util.StringTokenizer;import

2012-03-11 16:16:12 819

原创 Hadoop入门系列2——安装,配置,编程,部署和运行

Hadoop入门系列1——安装,配置,编程,部署和运行中已经安装并配置了基于伪分布模式的Hadoop平台之后将介绍Hadoop编程。package seu.mapreduce.wordcount;import java.io.IOException;import java.util.StringTokenizer;import org.apache.hadoop.c

2012-03-11 16:12:11 846

原创 Hadoop入门系列1—— 安装,配置,编程,部署和运行

Hadoop综述:将网格计算,并行计算和虚拟化等技术融为一体的云计算技术已经成为时下存储和处理海量数据的最佳选择之一。Hadoop的开源,高性能,高容错,跨平台等特点使其成为架构分布式云计算平台的首选,从而可以充分利用集群的计算与存储能力,完成对海量数据的处理。        Hadoop是Apache软件基金会旗下的一个开源分布式计算平台,以Hadoop分布式文件系统(HDFS)和MapRe

2012-03-11 16:06:51 945

原创 算法学习心得——动态规划法实现最长公共子序列(LCS)

算法学习心得——动态规划法实现最长公共子序列(LCS)一.问题说明欲定义最长公共子序列(Longest Common Subsequence)问题,首先需要引入两个辅助性的概念,即:子序列的概念和公共子序列的概念。    子序列的概念形式化为:设X = 1, x2,┅, xm>,若有1≤i12k≤m,使得Z=1,z2,┅, zk> = i1, xi2,┅, xik>,则称Z是X的子序列

2012-02-14 16:29:19 4006 1

原创 基于贝叶斯方法的英文单词模糊自动校对技术及其应用研究

摘要:概述了英文文本自动校对技术的产生背景,分析了英文文本的特点,并对英文文本校对的技术难点和解决方法以及国内外的研究现状进行了阐述。在此基础上重点讨论了基于贝叶斯方法的英文单词自动校对技术的实现。关键字:贝叶斯方法;模糊自动校对;非词错误(单词错误) English words based on the Bayesianapproach to fuzzy automatic proo

2012-02-14 16:26:19 2443 1

原创 设计模式之工厂方法模式

工厂方法模式的java代码实现package FactoryMethod;/** * Work类为Product,它定义工厂方法所创建的对象接口 * @author wjm * */public interface Work {public abstract void work();} package FactoryMethod;/** *I

2011-12-17 21:18:09 390

原创 设计模式之单例模式

这是我CSDN上的第一篇博文,我希望通过学习设计模式并通过进行编码实现来加深对设计模式的理解!我学习的第一个设计模式是单例模式,以下是我使用java实现的程序:package Singleton;/** * Singleton定义一个Instance操作,允许客户访问它的唯一实例 * Instance是一个类操作,可能负责创建它自己的唯一实例 * @author wjm *

2011-12-16 15:56:18 347

RDF模式匹配

本文档是在微软学术论坛中所作的海报报告,它描述了基于可排序视图处理RDF模式匹配问题的方法。

2014-04-05

超图查询&子图同构

本文档细致的讲述了超图查询问题、子图同构问题,比给出常用的计算方法。

2014-04-05

Pregel vs. MapReduce

本文档比较了两个知名的计算模型Pregel和MapReduce的特点及其应用场景。

2014-04-05

Incremental Maintenance of 2-Hop Labeling of Large Graphs

本文档描述大规模图数据中动态维护2-hop标签过程。

2014-04-05

Computing label-constraint Reachability in Graph Databases

本文档介绍在大规模图数据库中计算标签可达性约束的查询问题。

2014-04-05

研究生如何做文献阅读笔记

研究生如何做文献阅读笔记,指导研究生进行相应的文献阅读笔记

2011-12-14

空空如也

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

TA关注的人

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