python模块系列 (二)之操作NoSQL数据库hbase
2016-10-13 19:05
591 查看
说明:
要想通过python代码操作hbase数据库,并不如操作mysql那样简单。毕竟hbase是原生支持java,我们操作hbase是通过thrift接口来提供支持的。并且hbase使用hadoop作为存储支持的。搭建hadoop,安装hbase数据库等都是必要的前提,这些我就默认都已经安装了.
1.happybase模块安装
由于直接使用thrift来访问hbase的语法晦涩,而且在很多异常处理时,表现不是很理想。所以我们采用happybase,这是封装了thrift接口的,提高了简洁的API支持。
更详细API Doc见 http://happybase.readthedocs.io/en/latest/
2.代码案例
3.启动thrift服务
4.感想
只要掌握基本操作和思路之后就可以了。不必深究,也不必立刻搞懂全部API,我们只要掌握了如何看API和开发的流程即可。如果下次再遇到直接翻开笔记和对应happybase的官方文档即可。这是一种最有效的学习方式,学习使用模块,只要用3分力即可。
要想通过python代码操作hbase数据库,并不如操作mysql那样简单。毕竟hbase是原生支持java,我们操作hbase是通过thrift接口来提供支持的。并且hbase使用hadoop作为存储支持的。搭建hadoop,安装hbase数据库等都是必要的前提,这些我就默认都已经安装了.
1.happybase模块安装
由于直接使用thrift来访问hbase的语法晦涩,而且在很多异常处理时,表现不是很理想。所以我们采用happybase,这是封装了thrift接口的,提高了简洁的API支持。
更详细API Doc见 http://happybase.readthedocs.io/en/latest/
pip install happybase
2.代码案例
import happybase as hb class HbaseHelp: def __init__(self,masterip,tablename): try: self.connection=hb.Connection(masterip) self.connection.open() self.table=self.connection.table(tablename) except: print("hbase error") def insertRow(self,row,columnvalueDict): #将字符编码成2进制 rowbytes=row.encode(encoding='utf-8') columnDictbytes={} for column in dolumnvalueDict: columnbyte=column.encode(encoding='utf-8') valuebyte=columnvalueDict[column].encode(encoding='utf-8') columnDictbytes[columnbyte]=valuebyte self.table.put(rowbytes,columnDictbytes) def scanAllData(self); for key,data in self.table.scan(): print(key.encode,data) def close(self): try: self.connection.close() except: print("hbase close error") if __name__=='__main__': hu=HbaseHelp('localhost','test') hu.insertRow('rowkey',{'f1:c1':'v1','f2:c2':v2}).
3.启动thrift服务
#启动hbase的thrift服务 hbase thrift -p 9090 start
4.感想
只要掌握基本操作和思路之后就可以了。不必深究,也不必立刻搞懂全部API,我们只要掌握了如何看API和开发的流程即可。如果下次再遇到直接翻开笔记和对应happybase的官方文档即可。这是一种最有效的学习方式,学习使用模块,只要用3分力即可。
相关文章推荐
- 【python系列】mysqldb模块操作数据库
- python中常用的各种数据库操作模块和连接实例
- Python:数据库操作模块SQLAlchemy
- Python:数据库操作模块SQLAlchemy
- python利用MySQLdb模块进行数据库的连接实现增查操作
- 临时数据库之python用sqlite3模块操作sqlite 推荐
- 【脚本语言系列】关于PythonNoSQL数据库处理redis,你需要知道的事
- python数据库操作之pymysql模块和sqlalchemy模块(项目必备)
- Python操作nosql数据库之redis
- Python:数据库操作模块SQLAlchemy
- 【脚本语言系列】关于PythonNoSQL数据库处理dbm,你需要知道的事
- Python 数据处理扩展包: pandas 模块的DataFrame介绍(读写数据库的操作)
- nosql数据库-mongodb-入门(2)--用python的pymongo 操作mongodb
- python数据库操作——sqlite3模块
- (原创)Python文件与文件系统系列(2)——os模块对文件、文件系统操作的支持
- python操作mysql(一)MySQLdb模块安装和数据库基本操作
- 【脚本语言系列】关于Python数据库访问专用模块,你需要知道的事
- python数据存储系列教程——python中redis数据库操作:连接、增删查改、多级路径
- python操作三大主流数据库(1)python操作mysql①windows环境中安装python操作mysql数据库的MySQLdb模块mysql-client
- python操作nosql数据库之memcache