Как загрузить данные в Blaze из Hive2

Все,

Я пытаюсь загрузить данные в блэйс с благотворительного сервера hive2. Я хотел бы сделать некоторый анализ, подобный тому, что размещено здесь. Вот мой текущий процесс.

import blaze as bz
import sqlalchemy
import impala

conn = connect(host='myhost.url.com', port=10000, database='mydb', user='hive', auth_mechanism='PLAIN')
engine = sqlalchemy.create_engine('hive://', creator=conn) 
data = bz.data(engine)

Я могу установить соединение и сгенерировать движок, но когда я запускаю bz.data, происходит сбой с ошибкой

 TypeError: 'HiveServer2Connection' object is not callable

Любая помощь приветствуется.

Ответ

from pyhive import import hive
import sqlalchemy
from impala.dbapi import import connect


def conn():                                               
    return connect(host='myhost.com', port=10000, database='database',        user='username', auth_mechanism='PLAIN')

engine = sqlalchemy.create_engine('hive://', creator=conn)


#Workaround
import blaze as bz


data = bz.data(engine)

2 ответа

Решение
from pyhive import import hive
import sqlalchemy
from impala.dbapi import import connect


def conn():                                               
    return connect(host='myhost.com', port=10000, database='database', user='username', auth_mechanism='PLAIN')

engine = sqlalchemy.create_engine('hive://', creator=conn)


#Workaround
import blaze as bz


data = bz.data(engine)

У меня была такая же проблема при использовании Impyla для подключения к Impala с SQLAlchemy. Создание функции conn вместо назначения ее переменной сработало.

Другие вопросы по тегам