2015-02-08 walter lee
【什么是Hash】 Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。 继续阅读 »
2015-02-07 walter lee
【什么是Bit-map】 所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。 如果说了这么多还没明白什么是Bit-map,那么我们来看一个具体的例子,假设我们要对0-7内的5个元素(4,7,2,5,3)排序(这里假设这些元素没有重复)。那么我们就可以采用Bit-map的方法来达到排序的目的。要表示8个数,我们就只需要8个Bit(1Bytes),首先我们开辟1Byte的空间,将这些空间的所有Bit位都置为0. 然后遍历这5个元素,首先第一个元素是4,那么就把4对应的位置为1(可以这样操作 p+(i/8)|(0x01 继续阅读 »
2015-02-07 walter lee
简介 Dremel 是Google 的“交互式”数据分析系统。可以组建成规模上千的集群,处理PB级别的数据。MapReduce处理一个数据,需要分钟级的时间。作为MapReduce的发起人,Google开发了Dremel将处理时间缩短到秒级,作为MapReduce的有力补充。Dremel作为Google BigQuery的report引擎,获得了很大的成功。最近Apache计划推出Dremel的开源实现Drill,将Dremel的技术又推到了浪尖上。 继续阅读 »
2015-02-07 walter lee
Bloom Filter概念和原理 焦萌 2007年1月27日 Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom Filter的这种高效是有一定代价的:在判断一个元素是否属于某个集合时,有可能会把不属于这个集合的元素误认为属于这个集合(false positive)。因此,Bloom Filter不适合那些“零错误”的应用场合。而在能容忍低错误率的应用场合下,Bloom Filter通过极少的错误换取了存储空间的极大节省。 继续阅读 »
2015-01-17 walter lee
初识ODPS算法 ODPS机器学习算法非常丰富,从功能角度可以划分为以下几大类: 基本的统计、分析和处理 基本统计包括直方图、协方差、连续变量分组统计、交叉表、排行榜等;统计分析包括对应分析、主成分分析(Principal Component Analysis, PCA);数据处理包括数据过滤、采样、归一、合并、分箱等。 继续阅读 »
2015-01-17 walter lee
1月17日胖记 算法 一些高大上的算法的原理其实很简单,不要怕去了解他;实现也不难,不妨动手去试试。但是算法的调优和实现的优化却是一门很大的学问。所以我们的做法应该是毛爷爷的“战略上藐视敌人,战术上重视敌人”。 继续阅读 »
2015-01-01 walter lee
sql
在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢? 1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) 2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录 继续阅读 »
2015-01-01 walter lee
一、事务的4个基本特征 原子性 (Atomicity ) 要么全执行,要么都不执行。 一致性( Consistency ) 事务在系统完整性中实施一致性,这通过保证系统的任何事务最后都处于有效状态来实现。 隔离性 ( Isolation) 在隔离状态执行事务,使它们好像是系统在给定时间内执行的唯一操作。 持久性 (Durabilily) 持久性意味着一旦事务执行成功,在系统中产生的所有变化将是永久的。 二、为什么需要对事务并发控制 如果不对事务进行并发控制,我们看看数据库并发操作是会有那些异常情形 继续阅读 »
2014-12-22 walter lee
jdb
JDB "jdb"命令 jdb是java的一个命令行debug工具,随JDK提供。语法如下: jdb [options] main_class_name jdb [options] -attach * 这里"options"是指一系列的选项; * "main_class_name"是main函数所在的类名; * address是正在运行的JAVA进程 继续阅读 »
2014-10-12 walter lee
10月上胖记 整个九月都比较忙碌,一直在做事情。没有时间停下来思考。 9月发生了很多事,搬了家,换到新的租处。不在窝在公司附近的一亩三分地。生活范围扩大了一点。每天骑车上下班,跟着爱车在路上飞驰,有一种不一样的感觉。 准备从研发工程师转型去算法工程师,不过路有很长,要慢慢学习,慢慢进步。希望有个好的结果。 继续阅读 »