安装巨简单:
进入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
分享到:
相关推荐
在Python中使用Thrift2连接HBase,首先需要安装thrift库,可以使用pip命令进行安装: ``` pip install thrift ``` 接着,你需要下载HBase的Thrift IDL文件(通常为hbase.thrift),这个文件定义了HBase服务的所有...
在大数据处理领域,HBase作为一个分布式、高性能的列式存储系统,被广泛应用于实时数据查询。而Thrift是一种跨语言的服务框架,它...通过不断地实践和学习,你将能熟练地利用Python和Thrift2接口处理HBase中的大数据。
在Python中直接操作HBase通常需要Thrift作为通信桥梁,因为HBase原生提供Thrift接口。 Python 3与HBase的连接通常涉及到以下知识点: 1. **Thrift接口**:Thrift提供了一种接口定义语言(IDL),允许开发者定义...
- **环境问题解决**:如果在安装过程中遇到问题,可以参考官方文档解决,文档地址为 [http://thrift.apache.org/docs/install/centos](http://thrift.apache.org/docs/install/centos)。 - **验证安装**:使用命令 `...
HBase是一种分布式、基于列族的NoSQL数据库,它在大数据领域中扮演着重要的角色,尤其是在需要实时查询大规模数据集时。HBase以其高吞吐量、低延迟和水平扩展能力而闻名,常用于存储非结构化和半结构化数据。在HBase...
`happybase`提供了一种更接近SQL的接口,而`pyhbase`则是对HBase Thrift API的直接封装,更加底层。这两种库都允许开发者创建表、插入和查询数据,以及管理HBase集群。 ### 三、HBase表的创建与管理 在Python中...
安装Thrift通常需要解决一些依赖问题。首先,确保系统中安装了libevent和boost库。libevent可以从monkey.org/~provos/libevent下载,boost则可以在www.boost.org获取。安装libevent时,执行`./configure --prefix=/...
Python连接HBase是一种常见需求,特别是在大数据处理和分析中,Python的灵活性和易用性与HBase的强大存储能力相结合,可以构建高效的系统。HBase是一个分布式的、面向列的NoSQL数据库,它构建在Hadoop之上,提供实时...
- 在复制过程中,可能会出现 `<description>` 标签未正确闭合的问题。需要仔细检查并修正此类错误,以确保配置文件的有效性。 以下是修改后的一个示例配置片段: ```xml <!-- Licensed to the Apache ...
- 搜索 `hbase-thrift`(Python client for HBase Thrift interface),并安装该包。 ##### 2. 安装服务器端 Thrift 除了客户端的配置外,还需要在服务器端安装 Thrift。以下为简单的安装步骤: 1. **下载 Thrift...
在大数据处理领域,HBase是一个分布式、面向列的NoSQL数据库,它构建于Apache Hadoop之上,提供高可靠性、高性能、可伸缩的数据存储。...在实际应用中,HappyBase能帮助你更好地管理和处理存储在HBase中的大量数据。
1. 表:在HBase中,数据以表格的形式存储,每个表都有一个唯一的名称,并由行键(Row Key)和列族(Column Family)组成。 2. 行键:行键是表中的唯一标识符,决定了数据的物理存储位置。行键是字节序列,用户可以...
为了将HBase中的数据发送到Kafka,我们将使用Python的Thrift库来与HBase进行交互,以及Kafka的Python客户端`kafka-python`来与Kafka通信。以下是一个简单的实现步骤: 1. **导入所需库**: 首先,我们需要导入一些...
总的来说,PyHS2是Python2.7环境下与HBase交互的重要工具,它的安装依赖于sasl库,通过whl文件可以直接在Python环境中快速部署。掌握PyHS2的使用,能极大地提升你在大数据领域的开发效率,让你在处理HBase数据时更加...
Impala允许用户无需将数据从HDFS或HBase中提取出来,就能直接在原地进行实时分析,极大地提升了大数据查询的效率。 描述中提到的“用于JDBC连接Impala的工具包”,意味着这个压缩包包含了实现Java Database ...
- 使用Hive Thrift客户端和Hive JDBC客户端,包括如何在Spring应用中配置和使用它们。 - 执行Hive脚本查询,和Hive API的交互。 5. **对Pig的支持**: - 运行Pig脚本,包括使用Pig tasklet。 - 与Pig API的交互...
内容简介 本书从Hadoop的缘起开始,由浅入深,结合理论和实践,全方位地介绍Hadoop这一高性能处理海量数据集的理想工具。...附录B Cloudera’s Distribution for Hadoop 附录C 准备NCDC天气数据
第1章 初识Hadoop 数据!数据! 数据存储与分析 与其他系统相比 关系型数据库管理系统 网格计算 志愿计算 1.3.4 Hadoop 发展简史 ...附录B Cloudera’s Distribution for Hadoop 附录C 准备NCDC天气数据
Cloudera 是一个知名的 Hadoop 分发商,其 Impala 产品是一个高性能的 MPP(大规模并行处理)SQL 查询引擎,可以直接在 HDFS 和 HBase 上运行 SQL 查询,而无需将数据移动到其他系统。 标签 "Cloudera_ImpalaJ" ...