all,
我试图将数据加载到Hive2 Thrift服务器中。我想进行一些与此处发布的分析。这是我当前的过程。
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)
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)
我在使用impyyla与sqlalchemy连接到Impala时遇到了同样的问题。使CONN成为一个函数,而不是将其分配给可变。