自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(109)
  • 资源 (2)
  • 收藏
  • 关注

原创 从源码中分析Hadoop的RPC机制

RPC是Remote Procedure Call(远程过程调用)的简称,这一机制都要面对两个问题 对象调用方式;序列/反序列化机制在此之前,我们有必要了解什么是架构层次的协议。通俗一点说,就是我把某些接口和接口中的方法称为协议,客户端和服务端只要实现这些接口中的方法就可以进行通信了,从这个角度来说,架构层次协议的说法就可以成立了。

2015-12-04 13:50:19 2531

原创 一个完整的MapReduce程序

最近初学Hadoop,仿照参考书上编写了一个wordcount程序,本文主要解决运行过程中出现的一些问题,下边先看一下这个项目。 项目结构 WordMapper类package wordcount;import java.io.IOException;import java.util.StringTokenizer;import org.apache.hadoop.io.IntWrita

2015-12-01 14:18:52 7491

原创 数据挖掘中分类与预测的区别

分类是指把数据样本映射到一个事先定义的类中的学习过程,即给定一组输入的属性向量及其对应的类,用基于归纳的学习算法得出分类。

2015-11-30 16:55:17 9608 1

原创 大数据基本概念及Hadoop技术基础

This article is from Teacher Ren courseware , which summarizes the basic concept of Big Data, related technologies and Hadaop technical basis. It is useful for beginners who learn Hadoop ,and I made P

2015-11-30 16:07:18 1768

原创 基于 ReliefF和K-means算法的应用

数据挖掘方法的提出,让人们有能力最终认识数据的真正价值,即蕴藏在数据中的信息和知识。数据挖掘 (DataMiriing),指的是从大型数据库或数据仓库中提取人们感兴趣的知识,这些知识是隐含的、事先未知的潜在有用信息,数据挖掘是目前国际上,数据库和信息决策领域的最前沿研究方向之一。因此分享一下很久以前做的一个小研究成果。也算是一个简单的数据挖掘处理的例子。 数据挖掘与聚类分析概述数据挖掘一般由以下几

2015-11-28 23:32:13 5786

原创 利用Hadoop和Spark处理用户心跳周期数据

数据源:可穿戴设备的实时数据分析。1.txt记录的是某一个用户的心跳周期数据,每一个数值表示一次心跳的周期,单位是秒。例如,0.8表示用户当时的心跳间隙是0.8秒。心跳间期按照顺序存储

2015-11-27 10:44:32 2550

原创 Java线程池源码解析及高质量代码案例

ThreadPoolExecutor是一个 ExecutorService,它使用可能的几个池线程之一执行每个提交的任务,通常使用 Executors 工厂方法配置。线程池可以解决两个不同问题:由于减少了每个任务调用的开销,它们通常可以在执行大量异步任务时提供增强的性能,并且还可以提供绑定和管理资源(包括执行任务集时使用的线程)的方法。每个 ThreadPoolExecutor 还维护着一些基本的统

2015-11-09 14:46:00 6804 1

原创 数据挖掘算法与现实生活中的应用案例

如何分辨出垃圾邮件”、“如何判断一笔交易是否属于欺诈”、“如何判断红酒的品质和档次”、“扫描王是如何做到文字识别的”、“如何判断佚名的著作是否出自某位名家之手”、“如何判断一个细胞是否属于肿瘤细胞”等等,这些问题似乎都很专业,都不太好回答。但是,如果了解一点点数据挖掘的知识,你,或许会有柳暗花明的感觉。本文,主要想简单介绍下数据挖掘中的算法,以及它包含的类型。然后,通过现实中触手可及的、活生生的案例

2015-10-26 19:19:08 25768

原创 数据挖掘导论总结之分类技术

博主是浙江大学一名在校学生,现在把这几天读的《数据挖掘导论》中的几个常见的分类技术进行简要的总结汇报,做成PPT并截图,有什么不对的地方欢迎大家指正。

2015-10-18 20:21:36 1990

原创 数据挖掘导论学习笔记之分类基本概念、决策树与模型评估

分类分类任务的输入数据是记录的集合,每条记录也称实例或样例,用元组(x,y)来表示,其中x是属性的集合,而y是一个特殊的属性,指出样例的类标号。类标号在分类中是离散属性,回归确是一种预测建模任务,其中目标属性y是连续的。概念 分类任务就是通过学习得到一个目标函数f,把每个属性集x映射到一个预先定义的类标号y。 目标函数也称分类模型,具有以下目的:描述性建模。分类模型可以作为解释性工具,用于区

2015-10-11 22:05:12 2629

原创 数据挖掘导论笔记之探索数据

鸢尾花鸢尾花(Iris)数据集可以从加州大学欧文分校(UCI)的机器学习库中获取,包含150种鸢尾花的信息,每50种取自三个原味鸢尾花种之一:Setosa、Versicolour和Virgincia。每个花的特征用下面5种属性描述。萼片长度(厘米)萼片宽度 (厘米)花瓣长度(厘米)花瓣宽度(厘米)类 (Setosa、Versicolour和Virgincia) 花的萼片是花的外部结构,保

2015-10-11 17:04:55 1770

原创 基于贝叶斯算法的文本分类算法

基本定义分类是把一个事物分到某个类别中。一个事物具有很多属性,把它的众多属性看作一个向量,即x=(x1,x2,x3,…,xn),用x这个向量来代表这个事物,x的集合记为X,称为属性集。类别也有很多种,用集合C={c1,c2,…cm}表示。一般X和C的关系是不确定的,可以将X和C看作是随机变量,P(C|X)称为C的后验概率,与之相对的,P(C)称为C的先验概率。 根据贝叶斯公式,后验概率P(C|X)

2015-10-03 19:08:31 1298

原创 初学机器学习的四种方式

学习机器学习有很多方法,大多数人选择从理论开始。 如果你是个程序员,那么你已经掌握了把问题拆分成相应组成部分及设计小项目原型的能力,这些能力能帮助你学习新的技术、类库和方法。这些对任何一个职业程序员来说都是重要的能力,现在它们也能用在初学机器学习上。 要想有效地学习机器学习你必须学习相关理论,但是你可以利用你的兴趣及对知识的渴望,来激励你从实际例子学起,然后再步入对算法的数学理解。 通过本文你

2015-09-29 18:49:36 2530

原创 深入 HBase 架构解析(2)

这是《深入HBase架构解析(1)》的续,不多废话,继续。。。。 HBase读的实现 通过前文的描述,我们知道在HBase写时,相同Cell(RowKey/ColumnFamily/Column相同)并不保证在一起,甚至删除一个Cell也只是写入一个新的Cell,它含有Delete标记,而不一定将一个Cell真正删除了,因而这就引起了一个问题,如何实现读的问题?要解决这个问题,我们先来分析一

2015-09-28 22:40:39 1212

原创 深入 HBase 架构解析(1)

前记公司内部使用的是MapR版本的Hadoop生态系统,因而从MapR的官网看到了这篇文文章:An In-Depth Look at the HBase Architecture,原本想翻译全文,然而如果翻译就需要各种咬文嚼字,太麻烦,因而本文大部分使用了自己的语言,并且加入了其他资源的参考理解以及本人自己读源码时对其的理解,属于半翻译、半原创吧。HBase架构组成HBase采用Master/Sla

2015-09-28 22:23:50 1704

原创 防范sql注入

关于sql注入的危害在这里就不多做介绍了,相信大家也知道其中的厉害关系。 防范sql注入的方法无非有以下几种:1.使用类型安全的SQL参数 2.使用参数化输入存储过程 3.使用参数集合与动态SQL 4.输入滤波 5.过滤LIKE条款的特殊字符Sample:var Shipcity;ShipCity = Request.form ("ShipCity");var sql = "sele

2015-09-28 22:07:09 1499

原创 Java异步事件:轮询与中断

CPU几乎把所有的时间都花费在从内存获取指令并运行它们的过程中。然而,CPU和主存仅仅只是计算机硬件系统中众多组件的其中两个。一个完整的系统还包含其他的设备,比如:硬盘或者固态硬盘,用来存储程序和数据文件的。(注意,主存仅保存少量的信息,并且只有在计算机接通电源的时候才能保存信息。硬盘或者固态硬盘用来永久存储大量的信息。但是在程序真正运行前,程序必须把硬盘或者固态硬盘里的数据加载到主存中。硬盘把数据

2015-09-19 20:06:44 3996

原创 浅谈Weka

Weka系统汇集了最前沿的机器学习算法和数据预处理工具,以便用户能够快速灵活地将已有的据处理方法应用于新的数据集。它为数据挖掘的整个过程提供全面的支持,包括准备输入数据、统计评估学习方案、输入数据和学习效果的可视化.Weka除了提供大量学习算法之外,还提供了适应范围很广的预处理工具,用户通过一个统一界面操作各种组件,比较不同的学习算法,找出能够解决问题的最有效的方法。 Weka系统包括处理标准

2015-09-17 10:55:59 9017

原创 MSSQL 复习笔记 (下)

MSSQL 复习笔记,总结不全,还望指教。 子查询子查询–一个查询中包含另外一个查询。被包含的查询就称为子查询,。包含它的查询就称父查询1.子查询的使用方式:使用()包含子查询2.子查询分类:独立子查询:子查询可以直接独立运行 查询比“王八”年龄大的学员信息 select * from Student where BornDate<(select BornDate from Student w

2015-09-11 15:37:04 1234

原创 MSSQL 复习笔记 (上)

什么是SQL语句sql语言:结构化的查询语言。(Structured Query Language),是关系数据库管理系统的标准语言。它是一种解释语言:写一句执行一句,不需要整体编译执行。语法特点:1.没有“ ”,字符串使用‘ ’包含2.没有逻辑相等,赋值和逻辑相等都是=3.类型不再是最严格的。任何数据都可以包含在‘ ’以内4.没有bool值的概念,但是在视图中可以输入true/false5.它也有

2015-09-11 15:30:37 1368

原创 Java性能优化(13):支持非可变性

一个非可变类是一个简单的类,它的实例不能被修改。每个实例中包含的所有信息都必须在该实例被创建的时候就提出来,并且在对象的整个生存期内固定不变。Java平台库包含许多非可变类,其中有String、原语类型的包装—BigInteger和BigDecimal。非可变类的存在有许多理由:非可变类比可变类更加易于设计、实现和使用。它们不容易出错,更加安全。

2015-09-09 17:07:32 1150

原创 Java性能优化(12):最小化类和成员可访问能力

类和接口是Java程序设计语言的核心,它们也是Java语言的基本抽象单元。Java语言提供了许多强大的基本元素,供程序猿来设计类和接口。 要想区别一个设计良好的模块与一个设计不好的模块,最重要的因素是,这个模块对于外部其他模块而言,是否隐藏了内部的数据和其他的实现细节。一个设计良好的模块会隐藏所有的实现细节,把它的API与实现清晰的隔离开来。然后,模块之间只通过它们的API进行通信,一个模块不

2015-09-08 12:52:52 1356

原创 基于OAtuth2的新浪微博Java爬虫

OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAUTH是安全的。oAuth是Open Authorization的简写。 其实多数尝试动手写新浪微博爬虫的童鞋都知道,新浪微博虽然为用户提供了API调用的接口。

2015-09-07 10:54:41 10928 2

原创 HBase基础知识(9):HBase其他特性

客户端API是由HTable的实例提供的,用户可以用它来操作HBase表。除了之前提到的一些主要特性外,还有以下一些值得注意的方法。HTable的实用方法void close() 用户使用完一个HTable实例之后,需要调用一次Close()。这个方法会刷写所有客户端缓冲的写操作:close()方法会隐式调用flushCache()方法。byte[] getTableName() 这是一个获

2015-08-28 10:24:19 2284

原创 HBase基础知识(8):扫描操作之缓存与批量处理

每一个next()调用都会为每行数据生成一个单独RPC请求,即使使用next(int nbRows)方法,也是如此,因为该方法仅仅是在客户端循环地调用next()方法。很显然,当单元格数据较小时,这样做的性能不会很好。因此,如果一次RPC请求可以获取多行数据,这样更会有意义。这样的方法可以由扫描器缓存实现,默认情况下,这个缓存是关闭的。 可以在两个层面上打开它:在表的层面,这个表所有扫描实例的缓存

2015-08-27 12:09:00 5127

原创 HBase基础知识(7):扫描操作之ResultScanner类

扫描操作不会通过一次RPC请求返回所有匹配的行,而是以行为单位进行返回。很明显,行的数目很大,可能有上千条甚至更多,同时在一次请求中发送大量数据,会占用大量的系统资源并消耗很长时间。 ResultScanner类把扫描操作转换为类似的get操作,它将每一行数据封装成一个Result实例,并将所有的Result实例放入一个迭代器中。ResultScanner的一些方法如下:Result next

2015-08-27 09:51:12 8309

原创 Mongodb 请求处理流程

Mongodb多存储引擎支持机制介绍了Mongodb存储层创建数据库、创建集合、插入文档等数据库操作接口,本文将介绍mongodb处理客户端请求的模型。

2015-08-26 21:05:31 1489

原创 HBase基础知识(6):扫描操作介绍

扫描操作的使用跟get()方法非常相似。同样,和其他函数类似,这里也提供了Scan类。但是由于扫描的工作方式类似于迭代器,所以用户无需调用scan()方法创建实例,只需调用HTable的getScanner()方法,此方法在返回真正的扫描器(scanner)实例的同时,用户也可以使用它迭代获取数据。可用方法如下: ResultScanner getScanner(Scan scan) throws

2015-08-26 20:13:48 4028

原创 HBase基础知识(5):行锁

像put()、delete()、checkAndPut()这样的修改操作是独立执行的,这意味着在一个串行方式的执行中,对于每一行必须保证行级别的操作是原子性的。region服务器提供了一个行锁(row lock的特性,这个特性保证了只有一个客户端能获取一行数据相应的锁。同时对该行进行修改,在实践中,大部分客户端应用程序都没有提供显示的锁,而是使用这个机制来保障每个操作的独立性。 **用户应该尽

2015-08-26 16:12:51 2875

原创 HBase基础知识(4):批量处理操作

之前我们学习过添加、检索和删除表中数据的操作了,不过都是基于单个实例或基于列表的操作。下边介绍一些API调用,可以批量处理跨多行的不同操作。 事实上,许多基于列表的操作,如delete(Listdeletes)或者get(Listgets),都是基于batch()方法实现的。它们都是一些为了方便用户使用而保留的方法。如果你是新手,推荐使用batch()方法进行所有操作。 下面的客户端API方

2015-08-26 15:13:03 5623

原创 HBase基础知识(3):CRUD操作之删除方法

HTable提供了删除的方法,同时与之前的方法有一个对应的类名为Delete。 单行删除delete()方法有许多变体,其中一个只需要一个Delete实例:void delete(Delete delete) throws IOException用户必须先创建一个Delete实例,然后再添加你想要删除数据的详细信息。

2015-08-26 10:24:12 2711

原创 HBase基础知识(1):CRUD操作之put方法

数据库的初始基本操作被称CURD(Create,Read,Update,Delete),具体指增、查、改、删。HBase中有与之对应的一组操作。 下面介绍的这些组操作可以被分为两类:一类操作用于单行,另一类操作用于多行。鉴于后面有一些内容比较复杂,我们将分开介绍着两类操作。同时,我们还会介绍一些衍生的客户端的API特性。 单行put也许你现在最想了解的就是如何向HBase中存储数据,下面就是实现

2015-08-26 09:33:47 6544

原创 HBase基础知识(2):CRUD操作之get方法

HTable类中提供了get()方法,同时还有与之对应的Get类。get方法分为两类:一类是一次获取一行数据;另一类是一次获取多行数据。 单行get这种方法可以从HBase中获取一个特定的值:Result get(Get get) throws IOException与put()方法对应Put类相似,get()方法也有对应的Get类,此外还有一个相似之处,那就是在使用下面的方法构造Get实例时,与

2015-08-25 14:11:17 4796

原创 社交网络中潜在好友推荐算法研宄

算法概要计算用户间连通关系强度的算法可以分成两个部分:第一部分构建连通关系强度的计算模型即由链结关系网络图转换为对应的带有关系语境信息的链结关系网络图;第二部分进行用户间连通关系强度的计算。下面我们对该部分算法进行具体描述。

2015-08-23 10:33:20 8116 13

原创 Java字符串操作、基本运算方法等优化策略

字符串操作优化字符串对象字符串对象或者其等价对象 (如 char 数组),在内存中总是占据最大的空间块,因此如何高效地处理字符串,是提高系统整体性能的关键。String 对象可以认为是 char 数组的延伸和进一步封装,它主要由 3 部分组成:char 数组、偏移量和 String 的长度。char 数组表示 String 的内容,它是 String 对象所表示字符串的超集。String 的真实内容

2015-08-22 20:37:04 1647

原创 HBase 数据库检索性能优化策略

HBase 数据表介绍HBase 数据库是一个基于分布式的、面向列的、主要用于非结构化数据存储用途的开源数据库。其设计思路来源于 Google 的非开源数据库”BigTable”。 HBase 调用 API 示例类似于操作关系型数据库的 JDBC 库,HBase client 包本身提供了大量可以供操作的 API,帮助用户快速操作 HBase 数据库。提供了诸如创建数据表、删除数据表、增加字段、存

2015-08-14 21:22:17 1356

原创 简单REST 客户端使用 SQL,Hadoop,Drill

根据福雷斯特研究公司(Forrester Research)的观点,SQL将成为Hadoop生态系统中最多产的应用方案之一。Apache Drill 是一个应用于大数据搜索的开源SQL查询引擎。REST服务和客户端已经成为互联网流行的技术。 Apache HBase则是一个广受欢迎的Hadoop NoSQL数据库。在本文中,我将结合 SQL、Hadoop、Drill、REST with JSON、N

2015-08-14 20:37:21 1806

原创 Apriori算法

基本原理关联分析(association analysis)就是从大规模数据集中寻找物品间的隐含关系。这里的主要问题是,寻找物品的不同组合是一项十分耗时的任务,所需计算代价很高,蛮力搜索方法并不能解决这个问题,所以需要用更智能的方法在合理的时间内找到频繁项集。Apriori算法正是基于该原理得到的。关联分析是一种在大规模数据集中寻找有趣关系的任务。这些关系分为两种形式:频繁项集和关联规则。频繁项集(

2015-08-12 09:48:26 1786

原创 K近邻算法

k-近邻算法是基于实例的学习方法中最基本的,先介绍基于实例学习的相关概念。

2015-08-09 19:10:46 1372

原创 宝贵数据集——用于数据挖掘、机器学习、文本挖掘

1、气候监测数据集 http://cdiac.ornl.gov/ftp/ndp026b2、几个实用的测试数据集下载的网站 http://www.cs.toronto.edu/~roweis/data.html http://www.cs.toronto.edu/~roweis/data.html http://kdd.ics.uci.edu/summary.task.type.html

2015-08-09 18:55:00 3558

用户心跳数据集

1.txt记录的是某一个用户的心跳周期数据,每一个数值表示一次心跳的周期,单位是秒。例如,0.8表示用户当时的心跳间隙是0.8秒。心跳间期按照顺序存储

2015-11-27

手机电脑之间完美连接

电脑与智能手机之间的完美连接,适合做演示

2013-09-06

空空如也

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

TA关注的人

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