推荐主题

使用HBase中的Coprocessor Endpoint 这篇博文算是对上篇博文的续,毕竟使用Endpoint才是官方的使用HBase集群记性计算的方法,随着HBase的更新和完善上篇博文里方法肯定会被抛弃掉的。在这里介绍一下Endpoint的基本使用方法,基本就是对《HBase:The...

Readmore

WordPress安装与插件使用说明 这里就浅显的介绍下WordPress的安装和我所安装的插件吧。 一、WordPress的安装 额 这个我就不详细说明了,大概把WordPress上传到服务器的根目录文件夹后,直接输入域名,然后不停的点下一步就好啦,当然需要输入数据库密码的时候别忘了密码就好…囧,然后很快就搞定了...

Readmore

利用HBase集群进行计算 在使用Hbase时获取数据进行处理时,经常会遇到因为从HBase中获取的数据比较大的情况。在这种情况下存在至少两个问题:1. 占用网络带宽高,而且网络传输延时比较严重。2....

Readmore

  • Prev
  • Next

使用HBase中的Coprocessor Endpoint

Posted on : 11-03-2012 | By : RCheungIT | In : HBase, NoSQL

标签:, , , , ,

0

这篇博文算是对上篇博文的续,毕竟使用Endpoint才是官方的使用HBase集群记性计算的方法,随着HBase的更新和完善上篇博文里方法肯定会被抛弃掉的。在这里介绍一下Endpoint的基本使用方法,基本就是对《HBase:The Definitive Guide》有关Endpoint的小节的一个不完全翻译。

要使用Endpoint首先要编写一个继承CoprocessorProtocol的接口,类似于如下的样子:

public interface RowCountProtocol extends CoprocessorProtocol {
    long getRowCount() throws IOException;
    long getRowCount(Filter filter) throws IOException;
    long getKeyValueCount() throws IOException;
}

在这里定义你将要实现的计算方法,之后需要编写一个继承BaseEndpointCoprocessor并且实现RowCountProtocol 接口的类,如下:

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

利用HBase集群进行计算

Posted on : 09-03-2012 | By : RCheungIT | In : HBase, NoSQL

标签:, , ,

0

在使用Hbase时获取数据进行处理时,经常会遇到因为从HBase中获取的数据比较大的情况。在这种情况下存在至少两个问题:1. 占用网络带宽高,而且网络传输延时比较严重。2. 数据量太大导致计算负担大,若单机无法及时计算,需要考虑分布式技术。这里有一个比较理想的解决方案就是利用HBase集群直接在数据所在的节点上直接进行相关的计算,仅通过返回计算后的结果。

对于这种需求HBase有个原生的支持方式:Coprocessor。不过该功能是0.92后的新功能,在一般企业的生产环境出于可靠性的考虑基本还都使用0.90.x版本号的HBase。因此下面介绍一下我们自己实现的类似于Coprocessor的利用HBase集群进行计算的方法。

要理解这种方法首先要了解HBase的RPC机制,HBase中Client和Region Server的通信是利用HRegionInterface实现的,在Region Server端实现这个接口,并在Client端调用这个接口。以Get为例, 大体的流程如下,Client的序列化Get后通过网络传输给Region Server,Region Server进行反序列化获得Get实例,并通过Get中获得的相关信息执行查询操作,得到Result,之后Result进行和之前Get相反的流程,Client得到Result。Get和Result的序列化和反序列化分别使用的是Writable接口的write和readFields。所以第一步需要通过继承Get和Result构造自己的Get和Result并实现Writable接口。这里需要注意的是自己的Get和Result需要一个参数为空的构造函数,至于原因想想readFields是如何使用的就明白了。

下一步就是要想怎么使用自己的Get和Result了,刚才提到,Client和Region Server的交互是通过HRegionInterface实现的,默认为org.apache.hadoop.hbase.regionserver.HRegionServer。所以这里还要继承HRegionSever实现自己的HRegionSever,暂时称它为CalHRegionSever。假设之前自己构造的Get和Result的类名为CalGet和CalResult,则为了能够使用它们,需要在CalHRegionSever实现类似于这样的函数:

  public CalResult get(byte[] regionName, CalGet get) throws IOException {
        Result r = super.get(regionName, (Get) get);
       //有关r的相关计算,并构造出类型为CalResult的result
      return result;
 }
1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)
Loading ... Loading ...

WordPress安装与插件使用说明

Posted on : 09-10-2010 | By : RCheungIT | In : 未分类

1

这里就浅显的介绍下WordPress的安装和我所安装的插件吧。

一、WordPress的安装

额 这个我就不详细说明了,大概把WordPress上传到服务器的根目录文件夹后,直接输入域名,然后不停的点下一步就好啦,当然需要输入数据库密码的时候别忘了密码就好…囧,然后很快就搞定了 。

一般情况下自己没有能力重写前台的Html、CSS和Javascript的话就需要安装主题了吧,进入后台后很容易发安装主题的,这里也不详细解释了。

后面重点就介绍一下我所安装的各种插件吧

二、WordPress插件说明

1.Akismet

这是WordPress自带的插件,在后台点击启用就好,会需要Key神马的,输入邮箱就会把Key发送到你的邮箱里。作用是用来过滤垃圾评论,一般博客生存了一段时间后都会吸引相当数量的垃圾评论。所以强烈推荐……

2.Hello Dolly

这也是WordPress自带的插件,作用相当无语,每次在后台里随机现实Matt Mullenweg最喜欢的Hello Dolly的一句歌词。估计Matt写插件写寂寞了吧……除了丑化后台没有任何作用,直接停用就好,如果删除的话每次WordPress更新的话貌似会自动安装的样子。

3.Custom Smilies

这是WordPress的必备插件吧…它可以让你自由地在你的文章和评论中使用表情来代替默认的表情。安装后,把设置的最后一项打钩就可以在评论栏附近自动添加表情插入框了,不过个人感觉表情插入框放的地方很不美观。所以建议在主题的 comments.php 的合适位置手动添加

<?php if ( function_exists(cs_print_smilies) ) {cs_print_smilies();} ?>
来实现自定义表情插入框的位置,个人感觉上述代码放到id为comment的textarea上方不错。

4.Highslide4WP

这个插件助你在 WordPress 中轻易地使用 Highslide 弹出窗口。我目前只在使用该插件来弹出表情插入框。在comments.php 的合适位置手动添加:

<?php if (function_exists('highslide_emoticons')) : ?>
	<?php highslide_emoticons(); ?>
<?php endif; ?>

如果你希望在点选插入表情图标后, 表情窗口不自动关闭, 请使用以下代码:

<?php if (function_exists('highslide_emoticons')) : ?>
	<?php highslide_emoticons(true); ?>
<?php endif; ?>

代码插入的具体位置和Custom Smilies需要插入的代码基本相同。

……困了 睡觉去

1 Star2 Stars3 Stars4 Stars5 Stars (3 votes, average: 4.00 out of 5)
Loading ... Loading ...

Hello World!

Posted on : 03-10-2010 | By : RCheung | In : 流水账而已

标签:

0

1G(27VQ9{V3_%{@(1]A5E05好吧

我已经不记得第几次在WordPress里

写一篇题目叫做Hello World的文章了

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)
Loading ... Loading ...