`
jack_boy
  • 浏览: 137264 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

happybase访问Hbase

阅读更多
Java以为的语言访问Hbase都是通过thrift进行访问的,因此需要在Hbase上开启thrift服务
如果用
hbase-deamon.sh start

启动服务,默认用的是thrift2,在用happybase的时候会出现版本不兼容的问题,因此用thrift来启动
hbase thrift -p 9090 start

happybase使用很简单,与hbase shell 用法类似
主要的用法都很简单,在其官方网站happybase上都有。
这里主要记录一个错误。
  File "test.py", line 21, in <module>
    for k, d in g:
  File "/home/jack_boy/product/lib/python2.6/site-packages/happybase/table.py", line 374, in scan
    self.name, scan, {})
  File "/home/jack_boy/product/lib/python2.6/site-packages/happybase/hbase/Hbase.py", line 1919, in scannerOpenWithScan
    return self.recv_scannerOpenWithScan()
  File "/home/jack_boy/product/lib/python2.6/site-packages/happybase/hbase/Hbase.py", line 1937, in recv_scannerOpenWithScan
    raise x
thrift.Thrift.TApplicationException: Internal error processing scannerOpenWithScan


源代码:
import happybase
import sys

#reload(sys)
#sys.setdefaultencoding('utf-8')

connection = happybase.Connection('192.168.1.110')

#connection.open()
#print connection.tables() 
table = connection.table('testTable')


g = table.scan(filter="SingleColumnValueFilter('f', 'id', =, '852223')", limit=10)
for k, d in g:
        print k, d


改为:
g = table.scan(filter="SingleColumnValueFilter('f', 'id', =, 'substring:852223')", limit=10)
程序正确运行,输出结果

引用
The general syntax of a comparator is: ComparatorType:ComparatorValue

The ComparatorType for the various comparators is as follows:

BinaryComparator - binary

BinaryPrefixComparator - binaryprefix

RegexStringComparator - regexstring

SubStringComparator - substring

The ComparatorValue can be any value.

Example 12.3. Example 1

>, 'binary:abc' will match everything that is lexicographically greater than "abc"


Example 12.4. Example 2

=, 'binaryprefix:abc' will match everything whose first 3 characters are lexicographically equal to "abc"


Example 12.5. Example 3

!=, 'regexstring:ab*yz' will match everything that doesn't begin with "ab" and ends with "yz"


Example 12.6. Example 4

=, 'substring:abc123' will match everything that begins with the substring "abc123"



参考:
http://hbase.apache.org/book/thrift.html#example-filter-strings
https://github.com/wbolster/happybase/blob/master/tests/test_api.py
0
5
分享到:
评论

相关推荐

    Python访问Hbase的库文件

    标题:"Python访问Hbase的库文件:Hbase.py与ttypes.py的替代解决方案" 在大数据处理的世界里,Apache HBase是一种分布式的、面向列的NoSQL数据库系统,特别适合于存储大量半结构化数据。HBase的分布式特性使其在...

    happybase查询hbase

    HappyBase是Python的一个库,为HBase提供了简单易用的API,使得开发者可以方便地通过Python进行HBase的操作,包括查询、插入和更新数据。这篇博客的配套文件主要展示了如何使用HappyBase来查询HBase。 首先,我们...

    java访问hbase所需的jar包

    Java访问HBase所需的Jar包是实现Java应用程序与HBase交互的关键。HBase作为一个基于Hadoop文件系统的分布式列式存储数据库,其设计目标是处理大规模的数据并提供亚秒级的访问速度。为了在Java环境中顺利地操作HBase...

    python通过thrift访问hbase.docx

    "Python 通过 Thrift 访问 HBase" 在大数据时代,HBase 作为一个分布式的、面向列的 NoSQL 数据库,广泛应用于大规模数据存储和处理中。Python 作为一门流行的编程语言,也提供了多种方式来访问 HBase。其中,...

    通过thrift使用c++访问hbase

    【标题】: "通过Thrift使用C++访问HBase" 【描述】: "本文档详述了如何在Linux和Windows环境下配置Thrift环境并使用HBase的C++客户端。" 【标签】: "hadoop hbase thrift boost" 在IT领域,特别是大数据处理中,...

    java api 访问hbase demo(Maven)

    在Java API中访问HBase是大数据处理中常见的一项任务,HBase作为一个分布式、列式存储的NoSQL数据库,常用于海量数据的实时读写。在这个Java API访问HBase的Maven项目中,我们将探讨如何配置项目,引入依赖,以及...

    java访问Hbase数据库Demo

    Java访问Hbase数据库是大数据处理中的常见操作,尤其在分布式存储和实时数据分析场景下。HBase,一个基于Google Bigtable模型的开源非关系型数据库,是Apache Hadoop生态系统的一部分,提供高并发、低延迟的数据存储...

    go thrift访问hbase

    博客配套文件,详细演示了go通过thrift1和thrift2接口访问hbase的方法,并给出了批量访问的简单封装接口。

    C# Rest方式访问Hbase

    C# 使用Microsoft.HBase.Client类库以Rest方式访问HBase数据库。实现了基本的增、删、改、查操作。方便新手入门学习。同时提供了Microsoft.HBase.Client源码。这源码是微软提供的,微软已经拥抱开源。

    HBase使用的jar包

    在分布式大数据处理领域,HBase是一个非常重要的列式存储数据库,尤其在处理海量实时数据时表现出色。HBase是构建在Hadoop文件系统(HDFS)之上的,它提供了高度可扩展性和高并发读写能力。为了在Hadoop项目中使用...

    spark访问hbase

    spark本地模式访问hbase表进行map reduce操作

    python3连接hbase包

    接下来,我们将学习如何使用 HappyBase 连接 HBase: 1. **导入库**:首先在 Python 脚本中导入 HappyBase 模块: ```python import happybase ``` 2. **建立连接**:然后创建一个到 HBase 服务器的连接: ```...

    hbase启动说明和python脚本

    `happybase`是一个基于`thriftpy`的HBase Python客户端,提供了简单易用的API。使用`happybase`,我们可以创建连接、创建表、插入数据、查询数据等。 例如,一个简单的`conn_happy.py`脚本可能包含以下内容: ```...

    Python连接Hbase

    HBase是Apache Hadoop生态系统中的一个分布式、面向列的数据库,它提供实时访问大数据的能力。它支持海量数据存储,同时提供了快速随机读取性能,非常适合处理半结构化的数据。 Python连接HBase的过程主要分为以下...

    HbaseTemplate 操作hbase

    在IT行业中,尤其是在大数据处理领域,HBase是一个广泛使用的分布式、高性能、列式存储的NoSQL数据库。HBase是建立在Hadoop文件系统(HDFS)之上,为处理大规模数据提供了一个高效的数据存储解决方案。而Spring Data...

    java 访问Hbase 使用的jar包 和 hbase-0.20.6 api

    Java Hbase jar api hbase-0.20.6.jar hadoop-core-0.20.1.jar commons-logging-1.1.1.jar zookeeper-3.3.0.jar log4j-1.2.91.jar

    HBase详细讲解

    HBase是Apache Hadoop项目的子项目,它是一个分布式的、面向列的开源数据库。它采用了Google的Bigtable论文中提到的数据模型,并且与Hadoop的HDFS文件系统紧密集成,适合存储大量非结构化数据。 HBase的历史可以...

    HBase单机版部署教程

    HBase单机版部署需要安装JDK、下载HBase、解压HBase、设置环境变量、修改/etc/profile文件、配置hbase-env.sh文件、配置hbase-site.xml文件、启动HBase和访问HBase。通过这些步骤,我们可以成功部署HBase单机版。

    hbase java api 访问 查询、分页

    本文将深入探讨如何使用HBase Java API进行数据访问和分页查询。 首先,我们要了解HBase的基本结构,它是由行(Row)、列族(Column Family)、列(Column)和时间戳(Timestamp)组成。在Java API中,我们主要通过...

Global site tag (gtag.js) - Google Analytics