我已经按照this指南安装了impyla及其依赖项。安装似乎已成功,因为现在可以在Anaconda文件夹(64位Anaconda 4.1.1版本)中看到文件夹“impyla-0.13.8-py2.7.egg” 。
但是,当我在python中导入impyla时,出现以下错误:
>>> import impyla
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named impyla
我已经安装了64位Python 2.7.12 有人可以向我解释为什么我遇到此错误吗? 我是Python的新手,并且一直在不同的博客上花费时间,但是我在那里看不到太多信息。在此先感谢您的时间。
最佳答案
用法与您提到的有所不同(来自https://github.com/cloudera/impyla)
Impyla实现了Python DB API v2.0(PEP 249)数据库接口(interface)(有关API详细信息,请参考它):
from impala.dbapi import connect
conn = connect(host='my.host.com', port=21050)
cursor = conn.cursor()
cursor.execute('SELECT * FROM mytable LIMIT 100')
print cursor.description # prints the result set's schema
results = cursor.fetchall()
Cursor对象还公开了迭代器接口(interface),该接口(interface)被缓冲(由cursor.arraysize控制):
cursor.execute('SELECT * FROM mytable LIMIT 100')
for row in cursor:
process(row)
您还可以取回pandas DataFrame对象
from impala.util import as_pandas
df = as_pandas(cur)
# carry df through scikit-learn, for example