hbase REST API

-- rest api --

http://wiki.apache.org/hadoop/Hbase/Stargate

curl -H "Accept: text/xml" http://itr-hbasetest01:20550/version -v

curl -H "Accept: text/xml" http://itr-hbasetest01:20550/version/cluster -v

curl -H "Accept: application/json" http://itr-hbasetest01:20550/status/cluster | python -mjson.tool

curl -X PUT -H "Content-Type: application/json" http://itr-hbasetest01:20550/tbl_rest/schema -d '{"ColumnSchema":[{"name":"cf"}]}' -v

curl -H "Accept: application/json" http://itr-hbasetest01:20550/tbl_rest/regions | python -mjson.tool

./hbase_put_rest_json.sh tbl_rest cf test sku_1 123
./hbase_put_rest_xml.sh tbl_rest cf test1 sku_2 789

curl -H "Accept: application/json" http://itr-hbasetest01:20550/tbl_rest/sku_2 | python -mjson.tool

echo -n "c2t1XzI=" | base64 -d
echo -n "Nzg5" | base64 -d
 
curl -H "Accept: application/octet-stream" http://itr-hbasetest01:20550/tbl_rest/sku2/cf:test1

curl -X DELETE -H "Accept: application/json" http://itr-hbasetest01:20550/tbl_rest/schema -v

-- JRuby script --

alter 'test1', NAME => 'cf', METHOD => 'delete'
alter 'test1', 'delete' => 'cf'

alter 'test1', NAME => 'cf'

put 'test1', 'user1', 'cf:1399999999', "\x00\x00\x00\x09"
put 'test1', 'user1', 'cf:1400000000', "\x00\x00\x00\x08"
put 'test1', 'user1', 'cf:1400000001', "\x00\x00\x00\x07"
put 'test1', 'user1', 'cf:1400000002', "\x00\x00\x20\xFB"
put 'test1', 'user2', 'cf:1500000000', "\x00\x00\x00\x11"
put 'test1', 'user2', 'cf:1500000001', "\x00\x00\x20\xFC"

require '/home/hduser/hbase/scan_binary_values'
scan_binary_values 'test1', 'cf'

scan_binary_values 'test1', 'lf'

shell脚本

hbase_put_rest_json.sh

table=$1
cf=$2
column=$3
key=$4
value=$5

cq_enc=`echo -ne $cf:$column | base64`

key_enc=`echo -ne $key | base64`
value_enc=`echo -ne $value | base64`

data='{ "Row": [ { "key": "'$key_enc'", "Cell": [ { "column": "'$cq_enc'", "$": "'$value_enc'" } ] } ] }'
echo $data
curl -H "Content-Type: application/json" --data "$data" http://itr-hbasetest01.zalando:20550/$table/$key -v

hbase_put_rest_xml.sh

table=$1
cf=$2
column=$3
key=$4
value=$5

cq_enc=`echo -ne $cf:$column | base64`

key_enc=`echo -ne $key | base64`
value_enc=`echo -ne $value | base64`

xml='<?xml version="1.0" encoding="UTF-8" standalone="yes"?><CellSet><Row key="'$key_enc'"><Cell column="'$cq_enc'">'$value_enc'</Cell></Row></CellSet>'
echo $xml
curl -H "Content-Type: text/xml" --data "$xml" http://itr-hbasetest01.zalando:20550/$table/$key -v

本文出自 “点滴积累” 博客,请务必保留此出处http://tianxingzhe.blog.51cto.com/3390077/1717615

时间: 2024-08-24 12:01:36

hbase REST API的相关文章

c语言-c通过jni调用 HBASE JAVA API

问题描述 c通过jni调用 HBASE JAVA API jvm.dll!6db71017() 未知[下面的框架可能不正确和/或缺失,没有为 jvm.dll 加载符号] jvm.dll!6db71086() 未知jvm.dll!6db710e0() 未知jvm.dll!6dde9d1d() 未知jvm.dll!6deaa65d() 未知jvm.dll!6ddfd291() 未知jvm.dll!6dd07d3d() 未知jvm.dll!6dd11511() 未知022003e4() 未知jvm.d

HBase Java API详解

[本文转自HBase Java API详解] HBase是Hadoop的数据库,能够对大数据提供随机.实时读写访问.他是开源的,分布式的,多版本的,面向列的,存储模型. 在讲解的时候我首先给大家讲解一下HBase的整体结构,如下图: HBase Master是服务器负责管理所有的HRegion服务器,HBase Master并不存储HBase服务器的任何数据,HBase逻辑上的表可能会划分为多个HRegion,然后存储在HRegion Server群中,HBase Master Server中存

HBase中应该如何合理设置客户端Write Buffer

HBase客户端API提供了Write Buffer的方式,即批量提交一批Put对象到HBase服务端.本文将结合HBase相关源码,对其进行深入介绍,分析如何在实际项目中合理设置和使用它. 1. 什么时候需要Write Buffer? 默认情况下,一次Put操作即要与Region Server执行一次RPC操作,其执行过程可以被拆分为以下三个部分: T1:RTT(Round-Trip Time),即网络往返时延,它指从客户端发送数据开始,到客户端收到来自服务端的确认,总共经历的时延,不包括数据

HBase数据库中HTable和HTablePool使用注意事项

HTable和HTablePool都是HBase客户端API的一部分,可以使用它们对HBase表进行CRUD操作.下面结合在项目中的应用情况,对二者使用过程中的注意事项做一下概括总结. HTable HTable是HBase客户端与HBase服务端通讯的Java API对象,客户端可以通过HTable对象与服务端进行CRUD操作(增删改查).它的创建很简单: Configuration conf = HBaseConfiguration.create(); HTable table = new

《HBase权威指南》一1.4 结构

1.4 结构 本节首先介绍HBase的架构,然后介绍一些关于HBase起源的背景资料,之后将介绍其数据模型的一般概念和可用的存储API,最后在一个更高的层次上对其实现细节进行分析. 1.4.1 背景 2003年,Google发表了一篇论文,叫"The Google File System"(http://labs.google.com/papers/gfs.html).这个分布式文件系统简称GFS,它使用商用硬件集群存储海量数据.文件系统将数据在节点之间冗余复制,这样的话,即使一台存储

Hbase数据模型与table设计

最近在学习Hbase的使用,并仔细阅读了一篇官方推荐的博客,在这里就以一边翻译一边总结的方式和大家一起梳理一下HBase的数据模型和基本的表设计思路. 官方推荐的博客原文地址:http://0b4af6cdc2f0c5998459-c0245c5c937c5dedcca3f1764ecc9b2f.r43.cf2.rackcdn.com/9353-login1210_khurana.pdf点击打开链接 HBase是一个开源可伸缩的针对海量数据存储的分布式nosql数据库,它根据Google Big

大数据工具篇之Hive与HBase整合完整教程

一.引言 最近的一次培训,用户特意提到Hadoop环境下HDFS中存储的文件如何才能导入到HBase,关于这部分基于HBase Java API的写入方式,之前曾经有过技术文章共享,本文就不再说明.本文基于Hive执行HDFS批量向HBase导入数据,讲解Hive与HBase的整合问题.这方面的文章已经很多,但是由于版本差异,可操作性不大,本文采用的版本均基于以下版本说明中的版本. 二.版本说明 序号 软件 版本 1 Hive  0.10.0 2 HBase 0.94.0 3 Hadoop 1.

HBase和HDFS数据互导程序

下面说说JAVA API 提供的这些类的功能和他们之间有什么样的联系. 1.HBaseConfiguration 关系:org.apache.hadoop.hbase.HBaseConfiguration 作用:通过此类可以对HBase进行配置 用法实例: Configuration config = HBaseConfiguration.create(); 说明: HBaseConfiguration.create() 默认会从classpath 中查找 hbase-site.xml 中的配置

HBase - Phoenix剖析

1.概述 在<Hadoop-Drill深度剖析> 一文当中,给大家介绍了Drill的相关内容,就实时查询来说,Drill基本能够满足要求,同时还可以做一个简单业务上的聚合,如果在使用Hive做一 些简单的业务统计(不涉及多维度,比如CUBE,ROLLUP之类的函数),只是用一些基本的聚合函数或是JOIN ON之类的,Drill基本满足要求,而且响应速度可比OLTP.今天给大家剖析的是另外一种工具,由于目前Drill官方不支持对表的插入,更新操作. 所以,在操作HBase的时候,若遇到这些需求,