首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
hbase协处理器编码实例
】的更多相关文章
hbase协处理器编码实例
Observer协处理器通常在一个特定的事件(诸如Get或Put)之前或之后发生,相当于RDBMS中的触发器.Endpoint协处理器则类似于RDBMS中的存储过程,因为它可以让你在RegionServer上对数据执行自定义计算,而不是在客户端上执行计算. 本文是以上两者的简单实例,使用的环境:环境 jdk1.8 hadoop2.6.5 hbase1.2.4. 1.Endpoint实例 1> 编写适用于protobuf的proto文件,如下,尽量不要带注释,因为编译时可能出现乱码 option…
[How to] 使用HBase协处理器---Endpoint客户端代码的实现
1.简介 不同于Observer协处理器,EndPoint由于需要同region进行rpc服务的通信,以及客户端出数据的归并,需要自行实现客户端代码. 基于[How to] 使用HBase协处理器---Endpoint服务端的实现这篇文章,我们继续实现其客户端代码. 2.客户端代码实现方式介绍 目前基于HBase1.0.0的版本客户端一共可以基于以下五个API来实现: 1. Table.coprocessorService(byte[]) 基于单个region的服务请求,参数为rowKey值,被…
[How to] 使用HBase协处理器---Endpoint服务端的实现
1.简介 前篇文章[How to] 使用HBase协处理器---基本概念和regionObserver的简单实现中提到了两种不同的协处理器,并且实现了regionObserver. 本文将介绍如何使用EndPoint协处理器类型. 与Observer类型不同的是,Endpoint协处理器需要与服务区直接通信,服务端是对于Protobuf Service的实现,所以两者直接会有一个机遇protocl的RPC接口,客户端和服务端都需要进行基于接口的代码逻辑实现. 2.Endpoint的服务端实现 如…
HBase 协处理器编程详解第一部分:Server 端代码编写
Hbase 协处理器 Coprocessor 简介 HBase 是一款基于 Hadoop 的 key-value 数据库,它提供了对 HDFS 上数据的高效随机读写服务,完美地填补了 Hadoop MapReduce 仅适于批处理的缺陷,正在被越来越多的用户使用.作为 HBase 的一项重要特性,Coprocessor 在 HBase 0.92 版本中被加入,并广受欢迎.本文假设读者对 HBase 以及 Coprocessor 已经比较熟悉,因此并不打算进详细介绍 HBase Coprocess…
HBase 协处理器编程详解,第二部分:客户端代码编写
实现 Client 端代码 HBase 提供了客户端 Java 包 org.apache.hadoop.hbase.client.coprocessor.它提供以下三种方法来调用协处理器提供的服务: Table.coprocessorService(byte[]) Table.coprocessorService(Class, byte[], byte[],Batch.Call), Table.coprocessorService(Class, byte[], byte[], Batch.Cal…
[How to] 使用HBase协处理器---基本概念和regionObserver的简单实现
1. 简介 对于HBase的协处理器概念可由其官方博文了解:https://blogs.apache.org/hbase/entry/coprocessor_introduction 总体来说其包含两种协处理器:Observers和Endpoint. 其中Observers可以理解问传统数据库的触发器,当发生某一个特定操作的时候出发Observer. RegionObserver:提供基于表的region上的Get, Put, Delete, Scan等操作,比如可以在客户端进行get操作的时候…
HBase 协处理器---基本概念和regionObserver的简单实现
1. 简介 对于HBase的协处理器概念可由其官方博文了解:https://blogs.apache.org/hbase/entry/coprocessor_introduction 总体来说其包含两种协处理器:Observers和Endpoint. 其中Observers可以理解问传统数据库的触发器,当发生某一个特定操作的时候出发Observer. RegionObserver:提供基于表的region上的Get, Put, Delete, Scan等操作,比如可以在客户端进行get操作的时候…
HBase协处理器的使用(添加Solr二级索引)
给HBase添加一二级索引,HBase协处理器结合solr 代码如下 package com.hbase.coprocessor; import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.NavigableMap; import java.util.UUID; import org.apache.hadoop.hbas…
HBase协处理器同步二级索引到Solr
一. 背景二. 什么是HBase的协处理器三. HBase协处理器同步数据到Solr四. 添加协处理器五. 测试六. 协处理器动态加载 一. 背景 在实际生产中,HBase往往不能满足多维度分析,我们能想到的办法就是通过创建HBase数据的二级索引来快速获取rowkey,从而得到想要的数据.目前比较流行的二级索引解决方案有Lily HBase Indexer,Phoenix自带的二级索引,华为Indexer,以及360的二级索引方案.上面的目前使用比较广泛的应该是Lily HBase Index…
HBase协处理器加载的三种方式
本文主要给大家罗列了HBase协处理器加载的三种方式:Shell加载(动态).Api加载(动态).配置文件加载(静态).其中静态加载方式需要重启HBase. 我们假设我们已经有一个现成的需要加载的协处理器Jar包:HelloCoprocessor-0.0.1.jar. 协处理器加载的三种方式 Shell加载 1. 上传HDFS 将打包好的HelloCoprocessor-0.0.1.jar上传服务器,然后放到HDFS上. # 切换hadoop用户,创建演示目录 $ hdfs dfs -mkdir…
大数据开发--Hbase协处理器案例
大数据开发--Hbase协处理器案例 1. 需求描述 在社交网站,社交APP上会存储有大量的用户数据以及用户之间的关系数据,比如A用户的好友列表会展示出他所有的好友,现有一张Hbase表,存储就是当前注册用户的好友关系数据,如下 需求 使用Hbase相关API创建一张结构如上的表 删除好友操作实现(好友关系双向,一方删除好友,另一方也会被迫删除好友) 例如:uid1用户执行删除uid2这个好友,则uid2的好友列表中也必须删除uid1 2.需求分析实现 2.1 考虑到需求是个双向删除,第一想法是…
从零自学Hadoop(22):HBase协处理器
阅读目录 序 介绍 Observer操作 示例下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 上一篇,我们讲述了HBase的数据模型相关操作的下部分. 下面我们开始介绍HBase的协处理器部分. 介绍 一:介绍 从0.92版本开始,HBase加入了协处理器(coprocessors),利用协处理器,用户可以编写运行在 HBase Server 端的代码.可以实现“二级索…
hbase 协处理器
一.服务端1.安装Protobuf2.RPC proto 定义文件:Examples.protooption java_package = "org.apache.hadoop.hbase.coprocessor.example.generated";option java_outer_classname = "ExampleProtos";option java_generic_services = true;option java_generate_equals…
HBase协处理器统计表数据量
1.Java代码实现 import org.apache.hadoop.hbase.client.coprocessor.AggregationClient; import org.apache.hadoop.hbase.client.coprocessor.LongColumnInterpreter; import org.apache.hadoop.hbase.coprocessor.AggregateImplementation; /** * <p> * 协处理器统计HBase表数据量…
HBase协处理器
说明:类似于RDBMS中触发器,允许用户在region服务器上运行自己的代码,在客户端用户不用关心操作具体在哪进行 使用场景:权限控制,回调函数(钩子函数).扫描统计等 主要类:observer和endpoint observer:类似触发器,回调函数在特定事件发生时执行 endpoint:类似数据库存储过程, Coprocessor:定义了协处理器的基本约定,所有协处理器必须实现Coprocessor类 协处理器加载:可以在hbase-site.xml中配置或者通过表描述符加载 eg:使用配置…
Hbase(三) hbase协处理器与二级索引
一.协处理器—Coprocessor 1. 起源Hbase 作为列族数据库最经常被人诟病的特性包括:无法轻易建立“二级索引”,难以执 行求和.计数.排序等操作.比如,在旧版本的(<0.92)Hbase 中,统计数据表的总行数,需 要使用 Counter 方法,执行一次 MapReduce Job 才能得到.虽然 HBase 在数据存储层中集成了 MapReduce,能够有效用于数据表的分布式计算.然而在很多情况下,做一些简单的相 加或者聚合计算的时候, 如果直接将计算过程放置在 server 端…
hbase shell编码显示中文
最近测试hbase shell,碰到个中文显示编码问题,最后通过Python解决了问题,具体操作如下: hbase(main):015:0* scan 'fr_test_hbase:test_log1' ROW COLUMN+CELL 10001 column=info:name, timestamp=1500448006065, value=tmr\xE4\xBD\xA010001 10002 column=info:name, timestamp=1500448006065, value=b…
HBase 协处理器统计行数
环境:cdh5.1.0 启用协处理器方法1. 启用协处理器 Aggregation(Enable Coprocessor Aggregation) 我们有两个方法:1.启动全局aggregation,能过操纵所有的表上的数据.通过修改hbase-site.xml这个文件来实现,只需要添加如下代码: <property> <name>hbase.coprocessor.user.region.classes</name> <value>org.apache.h…
HBase协处理器同步二级索引到Solr(续)
一. 已知的问题和不足二.解决思路三.代码3.1 读取config文件内容3.2 封装SolrServer的获取方式3.3 编写提交数据到Solr的代码3.4 拦截HBase的Put和Delete操作信息四. 使用 一. 已知的问题和不足 在上一个版本中,实现了使用HBase的协处理器将HBase的二级索引同步到Solr中,但是仍旧有几个缺陷: 写入Solr的Collection是写死在代码里面,且是唯一的.如果我们有一张表的数据希望将不同的字段同步到Solr中该如何做呢? 目前所有配置相关信息…
HBase 学习之路(八)——HBase协处理器
一.简述 在使用HBase时,如果你的数据量达到了数十亿行或数百万列,此时能否在查询中返回大量数据将受制于网络的带宽,即便网络状况允许,但是客户端的计算处理也未必能够满足要求.在这种情况下,协处理器(Coprocessors)应运而生.它允许你将业务计算代码放入在RegionServer的协处理器中,将处理好的数据再返回给客户端,这可以极大地降低需要传输的数据量,从而获得性能上的提升.同时协处理器也允许用户扩展实现HBase目前所不具备的功能,如权限校验.二级索引.完整性约束等. 二.协处理器类…
HBase 系列(八)——HBase 协处理器
一.简述 在使用 HBase 时,如果你的数据量达到了数十亿行或数百万列,此时能否在查询中返回大量数据将受制于网络的带宽,即便网络状况允许,但是客户端的计算处理也未必能够满足要求.在这种情况下,协处理器(Coprocessors)应运而生.它允许你将业务计算代码放入在 RegionServer 的协处理器中,将处理好的数据再返回给客户端,这可以极大地降低需要传输的数据量,从而获得性能上的提升.同时协处理器也允许用户扩展实现 HBase 目前所不具备的功能,如权限校验.二级索引.完整性约束等. 二…
入门大数据---Hbase协处理器详解
一.简述 Hbase 作为列族数据库最经常被人诟病的特性包括:无法轻易建立"二级索引",难以执 行求和.计数.排序等操作.比如,在旧版本的(<0.92)Hbase 中,统计数据表的总行数,需 要使用 Counter 方法,执行一次 MapReduce Job 才能得到.虽然 HBase 在数据存储层中集成 了 MapReduce,能够有效用于数据表的分布式计算.然而在很多情况下,做一些简单的相 加或者聚合计算的时候,如果直接将计算过程放置在 server 端,能够减少通讯开销,从…
HBase协处理器加载过程(1.2.x)
一.首先来看ObserverCoprocessor:1.观察者协处理器的静态加载的配置是在hbase-site.xml中配置如下属性:通过hbase.coprocessor.region.classes 配置 RegionObservers 和 Endpoints.通过hbase.coprocessor.wal.classes 配置 WALObservers.通过hbase.coprocessor.master.classes 配置MasterObservers.hbase.coprocesso…
HBase 协处理器实现二级索引
HBase在0.92之后引入了coprocessors,提供了一系列的钩子,让我们能够轻易实现访问控制和二级索引的特性.下面简单介绍下两种coprocessors,第一种是Observers,它实际类似于触发器,第二种是Endpoint,它类似与存储过程.由于这里只用到了Observers,所以只介绍Observers,想要更详细的介绍请查阅(https://blogs.apache.org/hbase/entry/coprocessor_introduction).observers分为三种:…
python编码,三个编码实例
1.字符串编码设置 data = u'你好' utf8 = data.encode('utf-8') 2.管道编码设置 import locale import sys ###设置输出管道编码### text = u'pi:π' locale.setlocale(locale.LC_ALL, '') #恢复系统默认 lang, encoding = locale.getdefaultlocale() #获取系统默认设置(或用户设置)过的lang.encoding print 'Locale la…
hbase中文内容编码转换
/** * HBASE中文转换 */ @Test public void testHbaseStr() throws Exception { // Hbase UTF8编码 String content = "\\xE7\\x83\\xA6"; char[] chars = content.toCharArray(); StringBuffer sb = new StringBuffer(); for (int i = 2; i < chars.length; i = i + 4…
HBase编程实例
摘要:在前文中安装了Hbase,通过Hbase shell能够进行一些操作.可是和实际的编程实例联系起来不方便,因此本文介绍有关Hbase编程的实例. 一.使用Eclipse开发HBase应用程序 1.在Eclipse中新建一个Java Project,命名为HBaseTest,然后右键Properties中选择Java Build Path,选择Add External Jars,将HBase/lib文件夹下的jar包导入进来. 2,在project根目录下创建Conf目录.将HBase/Co…
hbase数据加盐(Salting)存储与协处理器查询数据的方法
转自: https://blog.csdn.net/finad01/article/details/45952781 ------------------------------------------------------------------------------------------ hbase数据加盐(Salting)存储与协处理器查询数据的方法 用HBase存储数据时,如果不加任何处理,用户数据往往会集中在几个region中,从而导致数据处理的性能问题,写性能会不断…
hbase实践之协处理器Coprocessor
HBase客户端查询存在的问题 Scan 用Get/Scan查询数据, Filter 用Filter查询特定数据 以上情况只适合几千行数据以及不是很多的列的"小数据". 当表扩展为亿万行及百万列时,在通过网络传递移动大量的数据导致网络拥堵,且客户端需要足够多内存来处理这么大量数据的计算操作,另外,客户端代码也会变的大而复杂. 解决方案 移动计算比移动数据更划算 Coprocessor将运算移动到数据所处的节点. 什么是Coprocessor? 简单来说,Coprocessor是一个框架…
HBase中加盐(Salting)之后的表如何读取:协处理器文章
我们介绍了避免数据斑点的三种比较常见方法: 加盐-盐腌 哈希-散列 反转-反转 其中在加盐(Salting)的方法里面是这么描述的:给Rowkey分配一个随机指针以使其和之前排序不同.但是在Rowkey前面加了随机重叠,那么我们怎么将这些数据替换来呢?我将分三篇文章来介绍如何读取加盐之后的表,其中每篇文章提供一种方法,主要包括: 使用协处理器读取加盐的表 使用Spark读取加盐的表 使用MapReduce读取加盐的表 关于协处理器的入门及实战,参见请这里.本文使用的各组件版本:Hadoop的2.…