安装巨简单:
进入thrift根目录 ./configure --> ./make --> make install
为了在某些简单环境下,决定采用python来访问hbase
1、在make的时候出现fatal error: Python.h: No such file or directory的错误:
答:没有安装python-dev的包,运行sudo apt-get install python-dev 即可
2、提示找不到各种包
答:运行完
thrift --gen py /src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift
会出现gen-py,需要把里面的hbase文件夹拷到/usr/lib/python2.7/dist-packages目录下
此外,需要把
thrift-0.6.1/lib/py/build/lib.linux-x86_64-2.7/thrift拷到/usr/lib/python2.7/dist-packages
(以上是在ubuntu中的测试,在suse中,需放入/usr/local/lib/python2.7/site-packages下才有效)
当然,你也可以直接用ln -s 做个软连接
或者不放在上述system lib级别的目录中,用sys.path.append也行, 要想永久有效的话,就把append语句放在PYTHONPATH中
3、IDE还是会报找不到包
答:这个就比较诡异了,没关系,我建议你关闭ide,再打开。我用的是Aptana Studio 3
--------------------有问题再继续------------------
这边顺便提一个在用python基于stream写MR程序的时候,有时会出现问题,需要在开头加上:
#!/usr/bin/env python
关于python写MR,推荐一篇文章,简单,详细 http://www.michael-noll.com/tutorials/writing-an-hadoop-mapreduce-program-in-python/
thrift访问中的问题:
1、二进制问题
需要使用binascii模块进行转
import binascii
bin = lambda n:(n > 0) and (bin(n/2) + str(n%2)) or ''
s = 'hello world,this is python'
s_16 = binascii.b2a_hex(s)
s_10 = int(s_16,16)
s_2 = bin(s_10)
print s_2
s_10 = int(s_2,2)
s_16 = '%x'%(s_10)
s = binascii.a2b_hex(s_16)
print s
代码引自http://iyuan.iteye.com/blog/1226791
分享到:
相关推荐
博客配套文件,详细演示了go通过thrift1和thrift2接口访问hbase的方法,并给出了批量访问的简单封装接口。
python3通过thrift连接hbase模块修改版,其中hbase-python3,里面的path,根据实际实际路径修改.
python3 使用 thrift 操作hbase 安装hbase-thirft后有一个Hbase报错 使用这个修改完成的Hbase类替换掉原来的Hbase类问题全部解决 主要是因为python版本兼容性带来的问题
thrift生成好的python hbase库,配合thrift库可直接操作hbase
解决办法就是在HBase中配置Thrift Server服务,具体操作如下: (1)点击进入HBase详细界面 (2)操作-->添加角色实例 (3)将Thrift Server服务安装在与Hue相同的节点上。 (4)重启集群,结果...
java代码使用thrift2操作hbase示例,thrift2连接hbase添加数据,单条查找,删除数据,根据扫描器查找,修改数据等测试实例
C#使用Thrift2访问Hbase库,实现了简单的增、删、改、查。 便于大家快速入门。
代码文件,C#语言编写,通过Thrift2操作Hbase库,对数据进行简单的增、删、改、查处理·。
最新的thrift2协议python链接hbase代码,附代码片段,get,put,delete...
博客配套文件,详细演示了python通过thrift1接口查询hbase的方法。
本文档详细说明了Linux和windows系统下配置thrift环境和hbaseC++客户端的使用。
php访问hbase时,采用thrift的方式,编译了thrift和thrift2两套代码
最新的thrift2协议golang链接hbase代码,附代码片段,exist,get,put,delete...
Python 通过Thrift操作Hbase数据库 使用手册
python通过thrift访问hbase.docx
通过java api 接口 利用thrift读取hbase表中的数据 解压后包含两个文件 一个是实验步骤文档 一个是java 代码
HBase技术介绍.docx
博客配套文件,详细演示了python通过thrift2接口查询hbase的方法。
对HBase的API做了一层抽象,统一了HBase1.x和HBase2.x的实现,并提供了读写HBase的ORM的支持,同时,sdk还对HBase thrift 的客户端API进行了池化封装,(类似JedisPool),消除了直接使用原生API的各种问题,使之...