博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用Python调用HBASE
阅读量:6221 次
发布时间:2019-06-21

本文共 1780 字,大约阅读时间需要 5 分钟。

利用Python调用HBASE的 需要安装thrift hbase-thrift 

启动hbase的thrift服务:bin/hbase-daemon.sh start thrift 默认端口是9090

mysql 到hbase的数据同步:

1、put 

2、Importtsv

3、编写MapReduce Job导入

4、sqoop

简单code:

#!/usr/bin/env python

#coding=utf-8

import sys

sys.path.append('/usr/lib/python2.6/site-packages/hbase')

from thrift import Thrift

from thrift.transport import TSocket

from thrift.transport import TTransport

from thrift.protocol import TBinaryProtocol

from hbase import Hbase

from hbase.ttypes import *

import csv

from hbase.ttypes import ColumnDescriptor, Mutation, BatchMutation, TRegionInfo

from hbase.ttypes import IOError, AlreadyExists

######

def client_conn():

transport=TSocket.TSocket("172.16.10.87",9090)

transport=TTransport.TBufferedTransport(transport)

protocol=TBinaryProtocol.TBinaryProtocol(transport)

client=Hbase.Client(protocol)

transport.open()

return client

def __del__():

transport.close()

if __name__=="__main__":

client=client_conn()

#获取表名字

print client.getTableNames()

##创建表

#client.createTable('name2',[ColumnDescriptor(name="user_id:",maxVersions=1),ColumnDescriptor(name="user_name"),])

#写入数据

client.mutateRow('name2','a1',[Mutation(column='user_id:1',value="1")])

client.mutateRow('ca_record','1',[Mutation(column='user_id:0',value='5')])

##获取数据

aa=client.getRow('name2','a1')

for r in aa:

    print 'row',r.row 

    print '\br'

    print 'value',r.columns.get("user_id:1").value

##删除表

#client.disableTable("t1")

#client.deleteTable("t1")

print client.getTableNames()

###获取表的行键值

#print client.scannerGet(client.scannerOpen('t2',"cmd",["a"]))

print client.scannerGet(client.scannerOpen('t2',"",["a"])) #当row key为空取第一个

print "------"

print client.getColumnDescriptors('t3')

#在自己开发环境  只要安装好thrift 及hbase-thrift的包,在import的时候不会出问题

本文转自 DBAspace 51CTO博客,原文链接:http://blog.51cto.com/dbaspace/1950002

转载地址:http://wsgja.baihongyu.com/

你可能感兴趣的文章
实践是检验真理的唯一标准 - 脱壳篇02
查看>>
8.JSP与JavaBean
查看>>
strace命令详解
查看>>
javaweb 路径问题
查看>>
xgboost算法教程(两种使用方法)
查看>>
在Android Studio上测试运行,Unity发布成Android包过程中所遇到的问题及解决方案...
查看>>
设置UIImage的渲染模式:UIImage.renderingMode
查看>>
ajax最常见的几种面试题
查看>>
横向文本框 index获取索引 和 eq 实现
查看>>
学习 WINDOWS8 的开发 Windows Metro Style Apps !
查看>>
linux中添加环境变量(python为例)
查看>>
会话断开数据保存情况
查看>>
Linux-JDK+Tomcat的安装笔记
查看>>
吴忠军百度百科
查看>>
ActiveRecord::ConnectionAdapters::SchemaStatements | 有关 Column 的常见方法笔记
查看>>
搭建ssm框架经验
查看>>
编程之美 第1章 游戏之乐——游戏中碰到的题目(四)
查看>>
对话框DLL封装
查看>>
delphi TStringList 用法详解
查看>>
注意这种写法
查看>>