Как я могу импортировать hbase в python? - PullRequest
3 голосов
/ 14 февраля 2012

Я пытаюсь поиграться с hbase в python и использую репозиторий cloudera для установки пакетов hadoop / hbase.Кажется, это работает, так как я могу получить доступ к базе данных и работать с ней, используя оболочку, но она не полностью работает в Python.

Я знаю, что для связи с hbase мне нужен бережливый подход, поэтому я скачал и выполнил его из исходного кода, я могуимпортировать в 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/

Любая помощь / советы / предложения будутбудь великим.

Спасибо!

Ответы [ 3 ]

3 голосов
/ 26 января 2013

Посмотрите на HappyBase (см. https://github.com/wbolster/happybase для информации). Это современный способ взаимодействия с HBase из Python. Он охватывает полный API Thrift, но оборачивает его в гораздо лучший интерфейс.

2 голосов
/ 15 февраля 2012

Хорошо, я понял это. Если у кого-то еще есть проблемы с этим в будущем, то на самом деле это довольно легко На шаге, где вы запускаете thrift --gen py Hbase.thrift, он создает папку hbase в том месте, где вы выполнили эту команду. Просто возьмите эту команду и скопируйте ее в папку модуля по умолчанию (или в папку, в которой вы запускаете программу, и она должна работать).

0 голосов
/ 22 февраля 2013
  1. поиск / src / contrib / thriftfs / gen-py в папке установки hadoop
  2. Скопируйте вывод thrift --gen py Hbase.thrif в расположенное ниже расположение (часть до / home /hadoop / data / будет отличаться в вашем случае) /home/hadoop/data/hadoop-1.0.4/src/contrib/thriftfs/gen-py

затем

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

Это должно работать сейчас

...