【问题标题】:How can I import hbase in python?如何在 python 中导入 hbase?
【发布时间】:2012-02-14 17:51:56
【问题描述】:

我正在尝试在 python 中使用 hbase,并且我正在使用 cloudera 存储库来安装 hadoop/hbase 包。它似乎可以工作,因为我可以使用 shell 访问和处理数据库,但它不能在 python 中完全工作。

我知道要与 hbase 通信我需要 thrift,所以我从源代码下载并编译了它,我可以将 thrift 导入 python,但是当我执行 from hbase import Hbase 时,我得到模块未找到错误。

有谁知道我需要什么包/模块才能让它工作?我试图环顾easy_install 和yum(我正在使用centos6),但没有运气。我确实找到了一篇文章,其中使用 debain 的人通过 sudo aptiutde install python-hbase 安装了它.

另外,如果有帮助,我从 cloudera 安装了大部分基础,并按照 http://yannramin.com/2008/07/19/using-facebook-thrift-with-python-and-hbase/ 的一些说明(不需要安装的说明)

任何帮助/提示/建议都会很棒。

谢谢!

【问题讨论】:

  • fyi..我使用的文章已经快 4 岁了。我找不到任何与 python 打交道的新方法,但如果此方法已过时,请告诉我。

标签: python hbase cloudera


【解决方案1】:

看看 HappyBase(有关信息,请参阅 https://github.com/wbolster/happybase)。这是从 Python 与 HBase 交互的现代方式。它涵盖了完整的 Thrift API,但将其封装在一个更好的界面中。

【讨论】:

    【解决方案2】:

    好的,我想通了。如果将来有其他人遇到此问题,那实际上很容易。在您运行thrift --gen py Hbase.thrift 的步骤中,它会在您运行该命令的位置创建一个 hbase 文件夹。只需使用该命令并将其复制到您的默认模块文件夹(或在您运行程序的文件夹中,它应该可以工作)。

    【讨论】:

      【解决方案3】:
      1. 在hadoop安装文件夹下搜索/src/contrib/thriftfs/gen-py
      2. 将 thrift --gen py Hbase.thrif 的输出复制到下面的位置(在您的情况下,/home/hadoop/data/ 之前的部分会有所不同)/home/hadoop/data/hadoop-1.0.4/src/贡献/thriftfs/gen-py

      然后

      $ python
      import sys
      sys.path.append("/home/hadoop/data/hadoop-1.0.4/src/contrib/thriftfs/gen-py")
      import hbase 
      

      现在应该可以工作了

      【讨论】:

      • 欢迎来到 Stack Overflow!谢谢你的帖子!请不要在您的帖子中使用签名/标语。您的用户框算作您的签名,您可以使用您的个人资料发布您喜欢的任何关于您自己的信息。 FAQ on signatures/taglines
      猜你喜欢
      • 1970-01-01
      • 2015-11-18
      • 2014-08-15
      • 1970-01-01
      • 1970-01-01
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多