happybase对hbase数据库的基本操作
Posted 韩怪怪i
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了happybase对hbase数据库的基本操作相关的知识,希望对你有一定的参考价值。
1、连接数据库
import happybase
connection = happybase.Connection(host=host, port=port)
2、查询数据库中的所有表
table_name_list = connection.tables()
3、连接数据库中的表
enginetable = connection.table(table_name)
4、创建hbase表
families =
table_name: dict()
connection.create_table(table_name, families)
5、向hbase的某个表中插入数据
- row_key 必须是唯一的,如果是相同数据库中的数据会被替换掉
- 每个key需要带上表名 例如“table_name:data”:“data”
enginetable.put("row_key",'table_name:Data': "[]")
6、查询数据
row_start:开始行键(从左原则)
row_stop:结束行键(从左原则)
row_prefix:匹配的行键的 ROA 前缀
columns:入参的数据类型为list 需要显示什么字段,列表中就填写什么字段
filter:筛选器
例如:
data = enginetable.scan(row_prefix="1".encode("utf-8"), columns=["table_name:age"],filter = "SingleColumnValueFilter('table_name', 'age', =, 'binary:20') " )
timestamp:时间戳
include_timestamp:是否返回时间戳 入参:布尔类型
batch_size:设置检索结果的批大小
scan_batching:服务器端扫描批处理
limit:要返回的最大行数
sorted_columns:是否返回排序列
data = enginetable.scan(row_start=None, row_stop=None, row_prefix=None,
columns=None, filter=None, timestamp=None,
include_timestamp=False, batch_size=1000, scan_batching=None,
limit=None, sorted_columns=False)
多条件查询
例如:
data= enginetable.scan(filter = "SingleColumnValueFilter('table_name', 'age', =, 'binary:123')" and "SingleColumnValueFilter('table_name', 'Time', =, 'binary:20221218001212')")
以上是关于happybase对hbase数据库的基本操作的主要内容,如果未能解决你的问题,请参考以下文章
Python 操作 HBase —— Trift Trift2 Happybase 安装使用
在 HappyBase HBase 客户端中设置 Zookeeper 节点(znode)设置