HappyBase操作HBase

  • 启动HBase thrift server :
hbase-daemon.sh start thrift
  • 安装happy base
pip install happybase
  • 如何使用HappyBase

  • 建立连接

import happybase
connection = happybase.Connection('somehost')
  • 当连接建立时, 会自动创建一个与 HBase Thrift server的socket链接. 可以通过参数禁止自动链接, 然后再需要连接是调用 Connection.open():
connection = happybase.Connection('somehost', autoconnect=False)
# before first use:
connection.open()
  • Connection 这个类提供了一个与HBase交互的入口, 比如获取HBase中所有的表: Connection.tables():
print(connection.tables())
  • 操作表
    Table类提供了大量API, 这些API用于检索和操作HBase中的数据。 在上面的示例中,我们已经使用Connection.tables()方法查询HBase中的表。 如果还没有任何表,可使用Connection.create_table()创建一个新表:
connection.create_table('users',{'cf1': dict()})
  • 创建表之后可以传入表名获取到Table类的实例:
table = connection.table('mytable')
  • 查询操作
# api
table.scan() #全表查询
table.row('row_key') # 查询一行
table.rows([row_keys]) # 查询多行
#封装函数
def scanQuery():# 创建和hbase的连接connection = happybase.Connection('192.168.19.137')#通过connection找到user表 获得table对象table = connection.table('user')filter = "ColumnPrefixFilter('username')"#row_start 指定起始rowkey 缩小查询范围#filter 添加过滤器for key,value in table.scan(row_start='rowkey_10',filter=filter):print(key,value)# 关闭连接connection.close()
def getQuery():connection = happybase.Connection('192.168.19.137')# 通过connection找到user表 获得table对象table = connection.table('user')result = table.row('rowkey_22',columns=['base_info:username'])#result = table.row('rowkey_22',columns=['base_info:username'])result = table.rows(['rowkey_22','rowkey_16'],columns=['base_info:username'])print(result)# 关闭连接connection.close()
  • 插入数据
#api
table.put(row_key, {'cf:cq':'value'})
def insertData():connection = happybase.Connection('192.168.19.137')# 通过connection找到user表 获得table对象table = connection.table('users')table.put('rk_01',{'cf1:address':'beijing'})# 关闭连接for key,value in table.scan():print(key,value)connection.close()
  • 删除数据
#api
table.delete(row_key, cf_list)def deleteData():connection = happybase.Connection('192.168.19.137')# 通过connection找到user表 获得table对象table = connection.table('users')table.delete('rk_01',['cf1:username'])# 关闭连接for key,value in table.scan():print(key,value)connection.close()
  • 删除表
#api
conn.delete_table(table_name, True)
#函数封装
def delete_table(table_name):pretty_print('delete table %s now.' % table_name)conn.delete_table(table_name, True)

HBase-shell及happyhbase相关推荐

  1. hbase shell 查看列名_Hbase的简单命令使用

    通过hbase shell进入到cli窗口 1.创建表 create 't01','cf01' t01为表名 cf01为列族名 在hbase当中命令是需要区分大小的 在hbase当中字符串是需要加上引 ...

  2. hbase shell命令_HBASE的shell操作

    前言 我们知道hbase其实是架构在hdfs上的一个分布式数据库,既然是数据库那么这篇文章就主要围绕着我们最熟悉的增删改查来做.当然了,其实hbase的shell操作在真实的企业中几乎不用,这个很简单 ...

  3. hbase shell编码显示中文

    最近测试hbase shell,碰到个中文显示编码问题,最后通过Python解决了问题,具体操作如下: hbase(main):015:0* scan 'fr_test_hbase:test_log1 ...

  4. HBase shell 命令执行

    来源:http://www.oldboyedu.com/zuixin_wenzhang/index/id/132.html HBase Shell 提供了大多数的 HBase 命令,通过 HBase ...

  5. hbase shell命令扩展(转自http://www.netfoucs.com/cuirong1986/article/details/7986900)

    也许你还不清楚我在说什么,看一下下面的截图你就明白了: 好吧,如果您感兴趣,可以继续看下去了. hbase是以字节数组的形式存储数据的,当你直接用API或通过hbase 自带的shell端去查询数据时 ...

  6. 01 HBase基本概念和hbase shell常用命令用法

    本文转载自:http://archive.cnblogs.com/a/2178064/ 1. 简介 HBase是一个分布式的.面向列的开源数据库,源于google的一篇论文<bigtable:一 ...

  7. HBase基本概念和hbase shell常用命令用法

    1. 简介 HBase是一个分布式的.面向列的开源数据库,源于google的一篇论文<bigtable:一个结构化数据的分布式存储系统>.HBase是Google Bigtable的开源实 ...

  8. HBase总结(十三)HBase Shell 常用命令及例子

    下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下: 名称 命令表达式 创建表 create '表名称', '列名称1','列名称2','列名称N ...

  9. 在SecureCRT中,hbase shell不能回退的问题

    解决方法: 在hbase shell中如输入出错,按住Ctrl+删除键(backspace) 即可删除!

  10. Hbase shell详情

    HBase 为用户提供了一个非常方便的使用方式, 我们称之为"HBase Shell". HBase Shell 提供了大多数的 HBase 命令, 通过 HBase Shell ...

最新文章

  1. Jenkins FTP 上传
  2. linux dd 命令详解
  3. 服务器mysql如何添加数据库文件,如何在使用MySQL作为嵌入式服务器时创建数据库文件...
  4. 计算机网络与通信思维导图,用思维导图描述5G场景
  5. 有如下MySQL表_有一个名为app的MySQL数据库表,其建表语句如下: CR
  6. java鸟_java飞扬的小鸟
  7. Spring Boot中日志框架的使用——Logback
  8. java instanceof和isInstance的关系 精析
  9. paip.语义相关是否可在 哈米 的语义分析中应用
  10. android弹幕控件,可能是目前轻量级弹幕控件中功能最强大的一款
  11. 令牌环网 IEEE802.5
  12. Ubuntu16.04cuda8与cuda10共存,同时使用Tensorflow1.13.1(需重装显卡驱动)
  13. 13异步多线程(三)Parallel,线程安全
  14. iOS-ERROR ITMS-90096
  15. Log4cxx使用小结
  16. HarmonyOS 系统架构
  17. keras.models导入Sequential错误
  18. matlab里怎么计算期望,§7.4.2 利用MATLAB计算随机变量的期望和方差.pdf
  19. 教女朋友学会用ESP8266实现wifi杀手——有固件
  20. cae计算机仿真分析技术,cae分析.doc

热门文章

  1. Android 内存监测工具 DDMS -- Heap
  2. Python 大数据思维导图
  3. 【记忆化递归+DP】LeetCode 139. Word Break
  4. 【数字全排列】LeetCode 46. Permutations
  5. 树的先序遍历递归的理解
  6. Tensor的填充与复制
  7. Loaded runtime CuDNN library: 7103 (compatibility version 7100) but source was compiled with 7005 ..
  8. test软件工程第三次作业
  9. tomcat 开启 https 使用apr
  10. sqoop安装及使用