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
时间: 2024-10-12 15:20:52

hbase REST API的相关文章

Hbase java API 调用详解

Hbase java API 调用 一. hbase的安装 参考:http://blog.csdn.net/mapengbo521521/article/details/41777721 二.hbase访问方式 Native java api:最常规最高效的访问方式. Hbase shell:hbase的命令行工具,最简单的接口,适合管理员使用 Thrift gateway:利用thrift序列化结束支持各种语言,适合异构系统在线访问 Rest gateway:支持rest风格的http api

HBase Java API使用(一)

前言 1. 创建表:(由master完成) 首先需要获取master地址(master启动时会将地址告诉zookeeper)因而客户端首先会访问zookeeper获取master的地址 client和master通信,然后有master来创建表(包括表的列簇,是否cache,设置存储的最大版本数,是否压缩等). 2. 读写删除数据 client与regionserver通信,读写.删除数据 写入和删除数据时讲数据打上不同的标志append,真正的数据删除操作在compact时发生 3. 版本信息

HBase Java API使用

概括 1. 创建.删除及启用禁用表.添加列等都需用到HBaseAdmin,另外需要注意删除,添加列等操作都需要禁用表 2. 表中添加数据,查询等都是和HTable相关,如果是多线程的情况下注意用HTablePool 3.  插入数据使用Put,可以单行添加也可批量添加 4. 查询数据需使用Get,Result,Scan.ResultScanner等 一.HBaseConfiguration org.apache.hadoop.hbase.HBaseConfiguration 对HBase进行配置

HBase Client API使用入门(二)---查询及过滤器

相关知识 创建表插入数据删除等见:http://www.cnblogs.com/wishyouhappy/p/3735077.html HBase API简介见:http://www.cnblogs.com/wishyouhappy/p/3753347.html 按行.列簇等查询 package wish.hbase; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org

HBase编程 API入门系列之delete(管理端而言)(9)

大家,若是看过我前期的这篇博客的话,则 HBase编程 API入门之delete(客户端而言) 就知道,在这篇博文里,我是在客户端里删除HBase表的. 这里,我带领大家,学习更高级的,因为,在开发中,尽量不能客户端上删除表. 所以,在管理端来删除HBase表.采用线程池的方式(也是生产开发里首推的) package zhouls.bigdata.HbaseProject.Pool; import java.io.IOException;import java.util.concurrent.E

HBase编程 API入门之create(管理端而言)

大家,若是看过我前期的这篇博客的话,则 HBase编程 API入门之put(客户端而言) 就知道,在这篇博文里,我是在HBase Shell里创建HBase表的. 这里,我带领大家,学习更高级的,因为,在开发中,尽量不能去服务器上创建表. 所以,在管理端来创建HBase表.采用线程池的方式(也是生产开发里首推的) package zhouls.bigdata.HbaseProject.Pool; import java.io.IOException;import java.util.concur

HBase编程 API入门之delete

前面的基础,是 HBase编程 API入门之put HBase编程 API入门之get hbase(main):001:0> scan 'test_table2'ROW COLUMN+CELL row_04 column=f1:name, timestamp=1478117286377, value=Andy3 row_04 column=f2:name, timestamp=1478117286377, value=Andy3 1 row(s) in 1.5670 seconds hbase(

HBase编程 API入门之put

[[email protected] conf]$ cat regionservers HadoopMasterHadoopSlave1HadoopSlave2 <configuration> <property> <name>hbase.zookeeper.quorum</name> <value>HadoopMaster,HadoopSlave1,HadoopSlave2</value> </property> <

HBase编程 API入门之get

前面是基础. HBase编程 API入门之put package zhouls.bigdata.HbaseProject.Test1; import javax.xml.transform.Result; import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hbase.TableName;import org.a

使用hbase的api创建表时出现的异常

1 /usr/lib/jvm/java-7-openjdk-amd64/bin/java -Didea.launcher.port=7538 -Didea.launcher.bin.path=/usr/local/idea-IC-139.225.3/bin -Dfile.encoding=UTF-8 -classpath /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rhino.jar:/usr/lib/jvm/java-7-openjdk-amd64/jr