HBase学习记录
HBase
使用docker搭建参考https://blog.csdn.net/baifanwudi/article/details/78498325
搭建好以后,网页端可以看到:
terminal 界面
HBase是一种构建在HDFS之上的分布式、面向列的存储系统。在需要实时读写,随机访问超大规模数据集时,可以使用HBase。
HBase的特点
1、大,一个表可以有上一行,上百万行。
2、面向列:面向列表(簇)的存储和权限控制,列(簇)独立检索。
3、稀疏:对于为空(NULL)的列,并不占用存储空间,因此,表可以设计得非常稀疏。
4、无模式:每一行都有一个可以排序的主键和任意多的列,列可以根据需要动态增加,同一张表中不同的行可以有截然不同的列。
5、数据多版本,每个单元中的数据可以有多个版本,默认情况下,版本号自动分配,版本号就是单元格插入时的时间戳。
6、数据类型单一:HBase中的数据都是字符串,没有类型。
基本操作
whoam i 查看当前用户身份
list 查看有哪些表
create 't1' ,{NAME => 'f1',VERSIONS => '2'} 创建表,family name是f1
disbale 't1' 然后 drop 't1' 删除表
describe 't1' 查看表't1'结构
put 't1','rowkey001','f1:col1','value01' 在ti表中添加一行记录,其中rowkey是rowkey001,family name是f1,columu name是col1,value是value01。
get 't1' ,'rowkey001'获取表't1'的'rowkey001'的所有信息
scan 't1' 获取表t1的所有信息。
python 2 连接 HBase
首先安装 包
pip install thrift
pip install hbase-thrift
然后可以连接过去
from thrift.transport import TSocket,TTransport
from thrift.protocol import TBinaryProtocol
from hbase import Hbase # thrift默认端口是9090
socket = TSocket.TSocket('localhost',9090)
socket.setTimeout(5000) transport = TTransport.TBufferedTransport(socket)
protocol = TBinaryProtocol.TBinaryProtocol(transport) client = Hbase.Client(protocol)
socket.open() print(client.getTableNames())
print(client.get('t1','rowkey001','f1:col1'))
结果
最新文章
- ROC &; AUC笔记
- Shell case esac语句
- 攻城狮在路上(壹) Hibernate(十三)--- Hibernate的检索方式(上)
- 从webRoot中下载Excel
- Web开发人员常犯的10个错误
- ./configure会报错:pr command not found
- cvCreateImage函数说明(转载)
- Delphi模式设计
- 机器学习-review-1 线性回归
- linq分组查询
- mysql查询语句理解
- java :instanceof用法
- ES6浅谈之Promise
- junit 方法:assertEquals 和 assertTrue
- gcc库链接
- 分布式计算(二)使用Sqoop实现MySQL与HDFS数据迁移
- Html5學習重點清單
- R语言ggplot2中的panel. strip 基本概念
- 关于js中定时器的返回值问题
- BZOJ2221: [Jsoi2009]面试的考验
热门文章
- ReactNative出现错误问题'React/RCTAssert.h' file not found
- Opencv识别图中人脸
- 2018-8-10-win10-uwp-毛玻璃
- ed-tue-robotics
- setup PC not sleep when turn off display
- standard_key.kmp
- 生成树计数 Matrix-Tree 定理 学习笔记
- ConcurrentLinkedDeque
- Struts和Hibernate的jar包
- MyEclipse使用过程中的问题及对应设置的总结