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 happy地查询hbase数据

在 HappyBase HBase 客户端中设置 Zookeeper 节点(znode)设置

使用happybase访问HBase出现Broken pipe问题---两个“惊天”大bug

happybase 的连接池

无法在Python中使用Happybase创建简单表