数据挖掘 学习笔记(一)
摘要:数据仓库技术包括 数据清理、数据集成、联机分析处理(OLAP)数据分类、聚类和数据随时间变化的特征数据挖掘:1数据清理(消除噪声和不一致的数据)2数据集成(多中数据源可以组合在一起)3数据选择(从数据库中提取与分析任务相关的数据)4数据变换(数据变换或统一成适合挖掘的形式;如通过汇总或聚集操作)5数据挖掘(基本步骤,使用智能方法提取数据模式)6模式评估(根据某种有趣度量,识别提供知识真正有趣的模式)7知识表示(使用可视化和知识表示技术,向用户提供挖掘的知识)数据挖掘的广义观点:数据挖掘是从存放在数据库、数据仓库或其他信息中的大量数据挖掘有趣的知识的过程。基于这种观点,典型的数据挖掘系统具有以下
阅读全文
posted @
2014-02-23 16:14
刀锋诚心
阅读(468)
推荐(0) 编辑
googleBigTable
摘要:Bigtable是一个分布式的结构化数据存储系统,它被设计用来处理海量数据:通常是分布在数千台普通服务器上的PB级的数据。Google的很多项目使用Bigtable存储数据,包括Web索引、Google Earth、Google Finance。这些应用对Bigtable提出的要求差异非常大,无论是在数据量上(从URL到网页到卫星图像)还是在响应速度上(从后端的批量处理到实时数据服务)。尽管应用需求差异很大,但是,针对Google的这些产品,Bigtable还是成功的提供了一个灵活的、高性能的解决方案。本论文描述了Bigtable提供的简单的数据模型,利用这个模型,用户可以动态的控制数据的分布
阅读全文
posted @
2014-02-22 23:06
刀锋诚心
阅读(313)
推荐(0) 编辑
google GFS
摘要:我们设计并实现了Google GFS文件系统,一个面向大规模数据密集型应用的、可伸缩的分布式文件系统。GFS虽然运行在廉价的普遍硬件设备上,但是它依然了提供灾难冗余的能力,为大量客户机提供了高性能的服务。虽然GFS的设计目标与许多传统的分布式文件系统有很多相同之处,但是,我们的设计还是以我们对自己的应用的负载情况和技术环境的分析为基础的,不管现在还是将来,GFS和早期的分布式文件系统的设想都有明显的不同。所以我们重新审视了传统文件系统在设计上的折衷选择,衍生出了完全不同的设计思路。GFS完全满足了我们对存储的需求。GFS作为存储平台已经被广泛的部署在Google内部,存储我们的服务产生和处理的
阅读全文
posted @
2014-02-22 23:05
刀锋诚心
阅读(1293)
推荐(0) 编辑
googleMapReduce
摘要:摘要MapReduce是一个编程模型,也是一个处理和生成超大数据集的算法模型的相关实现。用户首先创建一个Map函数处理一个基于key/value pair的数据集合,输出中间的基于key/value pair的数据集合;然后再创建一个Reduce函数用来合并所有的具有相同中间key值的中间value值。现实世界中有很多满足上述处理模型的例子,本论文将详细描述这个模型。MapReduce架构的程序能够在大量的普通配置的计算机上实现并行化处理。这个系统在运行时只关心:如何分割输入数据,在大量计算机组成的集群上的调度,集群中计算机的错误处理,管理集群中计算机之间必要的通信。采用MapReduce架构
阅读全文
posted @
2014-02-22 23:04
刀锋诚心
阅读(219)
推荐(0) 编辑
leveldb0
摘要:leveldb的源代码进行学习,则纯粹是出于一个码农对美好世界进行探究的好奇。接下来将尽可能从源代码上给出leveldb代码的详尽注释,这里先列出自己在阅读前后的主要参考。0 官方文档http://leveldb.googlecode.com/svn/trunk/源代码,主要使用了1.7.0版本https://leveldb.googlecode.com/files/leveldb-1.7.0.tar.gzhttp://leveldb.googlecode.com/svn/trunk/doc/index.html官方使用手册,比较详细http://leveldb.googlecode.com/
阅读全文
posted @
2014-02-22 17:30
刀锋诚心
阅读(445)
推荐(0) 编辑
大端模式和小端模式
摘要:关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的《格利佛游记》:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。战争的原因:大家都知道,吃鸡蛋的时候,原始的方法是打破鸡蛋较大的一端,可以那时的皇帝的祖父由于小时侯吃鸡蛋,按这种方法把手指弄破了,因此他的父亲,就下令,命令所有的子民吃鸡蛋的时候,必须先打破鸡蛋较小的一端,违令者重罚。然后老百姓对此法令极为反感,期间发生了多次叛乱,其中一个皇帝因此送命,另一个丢了王位,产生叛乱的原因就是另一个国家Blefuscu的国王大臣煽动起来的,叛乱平息后,就逃到这个帝国避难。据估计,先后几次有11000
阅读全文
posted @
2014-02-22 16:49
刀锋诚心
阅读(245)
推荐(0) 编辑
信号
摘要:一、信号的基本概念为了理解信号,举例说明下:1.用户输入命令,在Shell下启动一个前台进程。2.用户按下Ctrl-c,这个键盘输入产生一个硬中断。3.如果CPU当前正在执行这个进程的代码,则该进程的用户控件代码暂停执行,cpu从用户态切换到内核处理硬件中断。4.终端驱动程序将Ctrl-c解释成一个SIGINT信号,记在该进程的PCB中(也可以说发送一个SIGINT信号给该进程)。5.当某个时刻要从内核返回到该进程的用户空间代码继续执行之前,首先处理PCB中记录的信号,发现有一个SIGINT信号待处理,而这个信号的默认处理动作的终止进程,所以直接终止而不再返回它的用户空间代码执行。注意,Ctr
阅读全文
posted @
2014-02-22 10:56
刀锋诚心
阅读(355)
推荐(0) 编辑
libevent API
摘要:http://blog.s135.com/book/libevent/files.html
阅读全文
posted @
2014-02-22 09:02
刀锋诚心
阅读(251)
推荐(0) 编辑
LLServer--》对LevelDB的应用
摘要:http://code.google.com/p/llserver/查看libs path的路径LD_DEBUG=libs /usr/bin/llserver -h
阅读全文
posted @
2014-02-21 16:45
刀锋诚心
阅读(159)
推荐(0) 编辑
Linux信号signal处理机制
摘要:信号机制是进程之间相互传递消息的一种方法,信号全称为软中断信号,也有人称作软中断。从它的命名可以看出,它的实质和使用很象中断。所以,信号可以说是进程控制的一部分。 一、信号的基本概念 1、基本概念 软中断信号(signal,又简称为信号)用来通知进程发生了异步事件。进程之间可以互相通过系统调用kill发送软中断信号。内核也可以因为内部事件而给进程发送信号,通知进程发生了某个事件。注意,信号只是用来通知某进程发生了什么事件,并不给该进程传递任何数据。 收 到信号的进程对各种信号有不同的处理方法。处理方法可以分为三类:第一种是类似中断的处理程序,对于需要处理的信号,进程可以指定处理函数,由该函数来
阅读全文
posted @
2014-02-21 16:10
刀锋诚心
阅读(1031)
推荐(0) 编辑
守护进程
摘要:守护进程(daemon): 是指在UNIX或其它多任务操作系统中在后台执行的电脑程序,并不会接收电脑用户的直接操作。此类程序会被进程的形式初始化。守护进程程序的名称通常以字母“d”结尾,例如:syslogd就是指管理系统日志的守护进程。 通常,守护进程没有任何存在的父进程(即PPID=1),且在UNIX系统进程层次级中直接位于init之下。守护进程程序通常通过如下方式使自己成为守护进程: 对一个子进程调用fork,然后使其父进程立即终止,使得这个子进程能在init下运行。这种方式通常被成为“脱壳”。 系统通常在启动时一同启动守护进程。守护进程为对网络请求,硬件活动等进行响应,或其他通过...
阅读全文
posted @
2014-02-21 15:46
刀锋诚心
阅读(227)
推荐(0) 编辑
使用 libevent 和 libev 提高网络应用性能(IBM)
摘要:http://www.ibm.com/developerworks/cn/aix/library/au-libev/
阅读全文
posted @
2014-02-21 10:27
刀锋诚心
阅读(279)
推荐(0) 编辑
Libev和LibEvent
摘要:libev和libevent功能基本相同,名称相近,到底该用哪一个呢?zhouhh@zhh64:~$ sudo apt-cache search libeventlibevent-dev – Development libraries, header files and docs for libeventevent-rpc-perl – dummy package to install libevent-rpc-perllibev-dev – static library, header files, and docs for libevlibev-libevent-dev – libeven
阅读全文
posted @
2014-02-20 10:15
刀锋诚心
阅读(1071)
推荐(0) 编辑
利用TokyoTyrant构建兼容Memcached协议、支持故障转移、高并发的分布式Key-value持久存储系统(转)
摘要:Tokyo Cabinet是日本人 平林幹雄 开发的一款 DBM 数据库,该数据库读写非常快,哈希模式写入100万条数据只需0.643秒,读取100万条数据只需0.773秒,是 Berkeley DB 等 DBM 的几倍。 Tokyo Tyrant是由同一作者开发的 Tokyo Cabinet 数据库网络接口。它拥有Memcached兼容协议,也可以通过HTTP协议进行数据交换。 Tokyo Tyrant 加上 Tokyo Cabinet,构成了一款支持高并发的分布式持久存储系统,对任何原有Memcached客户端来讲,可以将Tokyo Tyrant看成是一个Memcached,但是...
阅读全文
posted @
2014-02-19 13:14
刀锋诚心
阅读(287)
推荐(0) 编辑
HandlerSocket ---MySQL与NoSQL ---SQL与NoSQL的融合(转)
摘要:项目地址:https://github.com/ahiguti/HandlerSocket-Plugin-for-MySQL写这一篇内容的原因是MySQL5.6.2突然推出了memcached的功能。NoSQL to InnoDB with Memcached的出现,可以看出NoSQL对关系数据库的确产生了巨大的影响,个人觉得这是一个非常大的进步,可以让开发人员更加方便的使用NoSQL和关系数据库。NoSQL一般被认为性能高于关系数据库,那么直接在InnoDB之上提供NoSQL功能并和MySQL共存是否是一个更好的选择呢?MySQL with HandlerSocket去年在twitter上看
阅读全文
posted @
2014-02-19 08:46
刀锋诚心
阅读(260)
推荐(0) 编辑
使用sqoop把mysql数据导入hive
摘要:使用sqoop把mysql数据导入hiveexport HADOOP_COMMON_HOME=/hadoopexport HADOOP_MAPRED_HOME=/hadoopcp /hive/lib/mysql-connector-java-5.1.25-bin.jar /sqoop/lib/share表第一列为自增主键 share_id,share_id SELECT COUNT(*) FROM share WHERE share_id select add_time from share limit 1;+---------------------+| add_time ...
阅读全文
posted @
2014-02-18 14:40
刀锋诚心
阅读(917)
推荐(0) 编辑
HBase中文文档
摘要:http://abloz.com/hbase/book.html#d613e75
阅读全文
posted @
2014-02-18 14:24
刀锋诚心
阅读(136)
推荐(0) 编辑
pig(转载)
摘要:本文可以让刚接触pig的人对一些基础概念有个初步的了解。本文大概是互联网上第一篇公开发表的且涵盖大量实际例子的Apache Pig中文教程(由Google搜索可知),文中的大量实例都是作者Darran Zhang(website: codelast.com)在工作、学习中总结的经验或解决的问题,并且添加了较为详尽的说明及注解,此外,作者还在不断地添加本文的内容,希望能帮助一部分人。Apache pig是用来处理大规模数据的高级查询语言,配合Hadoop使用,可以在处理海量数据时达到事半功倍的效果,比使用Java,C++等语言编写大规模数据处理程序的难度要小N倍,实现同样的效果的代码量也小N倍。
阅读全文
posted @
2014-02-18 14:12
刀锋诚心
阅读(505)
推荐(0) 编辑
学习地址 hadoop生态圈
摘要:http://my.oschina.net/leejun2005/blog/140462http://www.codelast.com/?p=3621&cpage=1#comment-361http://www.datalab.sinaapp.com/?p=128
阅读全文
posted @
2014-02-18 12:42
刀锋诚心
阅读(148)
推荐(0) 编辑
PolyBase--整合SQLServer和Hadoop
摘要:我们一直强调,大数据和传统的关系数据库并不对立,未来公司的的业务将会是大数据和关系型数据库的整合。微软的PolyBase打响了SQL Server和Hadoop整合的第一枪。在2012年度的SQL Server(PASS)峰会(SQL Server专业人士的技术会议)上,微软公布了代码名为”PolyBase”的新功能。微软鲜明地阐述了未来大数据和传统的关系数据库的紧密联系。微软或许不是第一个试图整合关系型数据库和Hadoop的公司,但毫无疑问将会是最具冲击力的一个。PolyBase 将于 2013 年上半年中发布,作为SQL 服务器 PDW 的下一个版本的一部分。PDW是SQL Server数
阅读全文
posted @
2014-02-18 12:38
刀锋诚心
阅读(3757)
推荐(1) 编辑
java --json
摘要:https://github.com/yuanyan/commons-json
阅读全文
posted @
2014-02-14 16:35
刀锋诚心
阅读(127)
推荐(0) 编辑
Disruptor
摘要:第一部分。引子谈到并发程序设计,有几个概念是避免不了的。1.锁:锁是用来做并发最简单的方式,当然其代价也是最高的。内核态的锁的时候需要操作系统进行一次上下文切换,等待锁的线程会被挂起直至锁释放。在上下文切换的时候,cpu之前缓存的指令和数据都将失效,对性能有很大的损失。用户态的锁虽然避免了这些问题,但是其实它们只是在没有真实的竞争时才有效。下面是一个计数实验中不加锁、使用锁、使用CAS及定义volatile变量之间的性能对比。2. CAS: CAS的涵义不多介绍了。使用CAS时不像上锁那样需要一次上下文切换,但是也需要处理器锁住它的指令流水线来保证原子性,并且还要加上Memory Barrie
阅读全文
posted @
2014-02-14 11:11
刀锋诚心
阅读(522)
推荐(0) 编辑
rest字符串匹配模式-初次实现方案
摘要:一般的rest访问的路径如同这样的路径 http://localhost:8080/AppName/{class}/{method}/{param1}/{param2}... rest的方法分:POST、GET、PUT、DELET 等。在对request做出Response的时候需要对访问的URL进行分析,分析步骤如下:1.先去掉http://localhost:8080/AppName/,然后剩余下来的的字符串就如同:{class}/{method}/{param1}/{param2}...2.现在开始对使用的class进行匹配,class必须为第一个{class}/3.确定了class之后
阅读全文
posted @
2014-02-14 09:29
刀锋诚心
阅读(421)
推荐(0) 编辑
Servlet Rest
摘要:http://www.blogjava.net/yongboy/archive/2010/10/01/333609.html
阅读全文
posted @
2014-02-14 09:07
刀锋诚心
阅读(203)
推荐(0) 编辑
netty应用
摘要:http://www.blogjava.net/yongboy/archive/2013/05/13/399203.htmlhttp://shentar.me/tag/netty-2/ 代理http://ifeve.com/netty1/
阅读全文
posted @
2014-02-14 09:01
刀锋诚心
阅读(155)
推荐(0) 编辑
memcached单点
摘要:一.Repcached (memcached同步补丁)下载地址:http://sourceforge.net/projects/repcached/files/repcached/2.2.1-1.2.8/版本号:memcached 1.2.8 repcached 2.2.11、repcached介绍repcached是日本人开发的实现memcached复制功能,它是一个单 master单 slave的方案,但它的 master/slave都是可读写的,而且可以相互同步,如果 master坏掉, slave侦测到连接断了,它会自动 listen而成为 master;而如果 slave坏掉, ma
阅读全文
posted @
2014-02-14 08:45
刀锋诚心
阅读(276)
推荐(0) 编辑
java sql解析
摘要:https://github.com/JSQLParser/JSqlParser淘宝博客:http://www.searchtb.com/category/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E?spm=0.0.0.0.cD8ddZ
阅读全文
posted @
2014-02-13 17:07
刀锋诚心
阅读(199)
推荐(0) 编辑
java动态编译
摘要:一、使用 JavaCompiler 接口来编译 java 源程序(最简单的)使用 Java API 来编译 Java 源程式有非常多方法,目前让我们来看一种最简单的方法,通过 JavaCompiler 进行编译。我们能通过 ToolProvider 类的静态方法 getSystemJavaCompiler 来得到一个 JavaCompiler 接 口的实例。JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();JavaCompiler 中最核心的方法是 run。通过这个方法能编译 java 源程序。这个方法有 3 个固 定参数
阅读全文
posted @
2014-02-12 14:00
刀锋诚心
阅读(292)
推荐(0) 编辑
随想
摘要:1-33 和1-161-33个数字中选取6个数1-16中选取1个数字值的大小并不表示出现的概率大小。这有通过以前的数据来预测将会出现的数字的概率样本: 1-33 的分析样本和1-16分析样本对照至今出席次数:在分析过程中某数字出现的次数热度:在不同的期数上加入权重值Yoga的值=热度/出席次数,求出数字的Yoga值的大小,并排序----------------------------------------------------------算法2---------------------------根据上次出现的次数来统计下次出现的次数,做统计计算出现的权重。然后根据这两个规则得出下期出现的
阅读全文
posted @
2014-02-11 13:32
刀锋诚心
阅读(92)
推荐(0) 编辑