`
刘小小尘
  • 浏览: 67513 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
索引库结构—倒排序索引 我们需要对文档进行预处理,建立一种便于检索的数据结构,以此来提高信息检索的速度,这种数据结构就是索引。目前广泛使用的一种索引方式是倒排序索引。(说明:以下只是用于说明倒排序索引的结构,最终的索引结构要复杂的多(要考虑更多、更复杂的情况)。例如还要存储关键词在文本中的编号位置,或是首字母的字符位置等信息。) 倒排序索引的原理就如同查字典。要先查目录,得到数据对应的页码,在直接翻到指定的页码。不是在文章中找词,而是从目录中找词所在的文章。这需要在索引库中生成一个词汇表(目录),在词汇表中的每一个条记录都是类似于“词à所在文档的编号列表”的结构,记录了每一个出现 ...
简介 Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎 Lucene流行和成功的一个关键因素是它的简单。 不同的人使用不同的方法解决相同的问题—即信息超负荷问题。一些人使用新的用户接口来工作,一些使用智能代理,还有一些使用发展较为成熟的搜索工具如 ...
废话不说了,直接上代码,二叉树排序的算法,不难,仔细看看,应该可以很容易的看懂,欢迎批评指正 class BinaryTree{ class Node{ // 声明一个节点类 private Comparable data ; // 保存具体的内容 private Node left ; // 保存左子树 private Node right ; // 保存右子树 public Node(Comparable data){ this.data = data ; } public void addNode(Node newNode){ // ...
废话不说,直接上代码,仔细看看,应该不难,欢迎批评指正 package com.pzoom.test.object; import java.io.UnsupportedEncodingException; /** * 转换字符串的编码 */ public class ConverStr { public static void main(String[] args) throws UnsupportedEncodingException { ConverStr test = new ConverStr(); String str = "\u9519\u8be ...
MD5加密,不用多少,直接上代码,分为16位和32位加密两种,代码如下,望批评指正 分为加密单个字符串和加密字符串数组,debug下,不难 /** * MD5字符串加密 * * @param resource 源字符串 * @return <tt>String</tt> 加密后的MD5字符串 */ public static String md5Encryption(String resource) { if (resource == null) { resource = "null"; } String ...
写了一个用HTablePool来做HTable连接池的代码,不对的地方请多指教 直接上代码,仔细看看,应该不难看懂 package com.pzoom.hbase.java; import java.io.IOException; import java.util.ArrayList; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.KeyValue; import org.apache.hadoop.hbase.client.HTableInterface; import org ...
在单线程环境下使用hbase的htable是没有问题,但是突然高并发多线程情况下就出现问题了,然后细看htable的api说明 Java代码 * This class is not thread safe for updates; the underlying write buffer can * be corrupted if multiple threads contend over a single HTable instance. 好吧 ,还是使用前没有细看api的文档说明,而且测试也没有测试多线程使用的情况,检讨下,那么对应的解决方案呢? 当然 ...
Ehcache缓存配置方法 Cache的配置很灵活,官方提供的Cache配置方式有好几种。你可以通过声明配置、在xml中配置、在程序里配置或者调用构造方法时传入不同的参数。 你可以将Cache的配置从代码中剥离出来,也可以在使用运行时配置,所谓的运行时配置无非也就是在代码中配置。以下是运行时配置的好处: 在同一个地方配置所有的Cache,这样很容易管理Cache的内存和磁盘消耗。 发布时可更改Cache配置。 可再安装阶段就检查出配置错误信息,而避免了运行时错误。 本文将会对ehcache.xml配置文件进行详细的阐述。在配置的时可以拷贝一个现有的ehcach ...
闲着无事,写了一个ehcache的实例代码,代码如下,很简单,见笑 EhcacheUtil,可以实例模式也可以单例模式,我都写好了,可以试下 package com.util; import net.sf.ehcache.Cache; import net.sf.ehcache.CacheException; import net.sf.ehcache.CacheManager; import net.sf.ehcache.Element; public class EhcacheUtil { private Cache cache; private void loadPr ...
废话少说,直接上代码 文件的追加写 public class TestFileOp { @Test public void testFile1() { String source = "D:/keywordzip-zip/testNull/a.txt" ; String destination = "D:/keywordzip-zip/testNull/c.txt" ; try { RandomAccessFile randomF = new RandomAccessFile(source, "rw") ; ...
Hadoop RPC是Hadoop的一个重要部分,提供分布式环境下的对象调用功能,源码在org.apache.hadoop.ipc中。而HBase也几乎完全copy了这部分的源码,只是在配置项上面有所改动。 关于Hadoop RPC的机制分析和源码解读,网上已经有许多资料,一搜一大把,这里就不在描述了。本文通过一个小例子,介绍如何调用Hadoop RPC。 1. 应用场景 Hadoop RPC在整个Hadoop中应用非常广泛,Client、DataNode、NameNode之间的通讯全靠它了。 举个例子,我们平时操作HDFS的时候,使用的是FileSystem类,它的内部有个DFSC ...
今天没事,写了下sequencefile处理小文件实例 废话不说,直接上代码 WholeFileRecordReader: package com.pzoom.mr.sequence; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FSDataInputStream; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import ...
设置多个filter 代码如下: package com.pzoom.xiaochen.javaHbase; import java.io.IOException; import java.util.Arrays; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.KeyValue; import org.apache.hadoop.hbase.client.HTable; impor ...
当regionserver收到来自客户端的Get请求时,调用接口 public Result get(byte[] regionName, Get get) { ... HRegion region = getRegion(regionName); return region.get(get, getLockFromId(get.getLockId())); ... } 我们看HRegion.get接口,其首先会做family检测,保证Get中的family与Table的相符,然后通过RegionScanner.next来返回result 而Scanner是Hbase读流程中的 ...
这几天看到hbase 0.90刚刚发布,于是研究了下Master的代码,这里做下记录分享,hbase的背景,可以了解下bigtable。hbase用到了很多zookeeper的技术,zookeeper这里不做展开,我也不太熟悉,感兴趣的可以自行了解下,也可以参考chubby。HMaster是整个hbase中,负载较低的一个服务,他通过zookeeper负责整个集群region和regionserver的监控,负载均衡,以及 backup master,日志管理等功能。 构造函数: 1. 创建RPC服务: a) 创建Listener,主要负责为处理线程创建job,该Lis ...
Global site tag (gtag.js) - Google Analytics