Пытаюсь загрузить фрейм данных Python в Hadoop (Impala) с помощью `ibis`, получаю «AttributeError: модуль ‘ibis’ не имеет атрибута ‘impala’ «

#python #jupyter #ibis

#python #jupyter #ibis

Вопрос:

Я запускаю следующий блок команд Python в записной книжке Jupyter, чтобы загрузить мой фрейм данных с пометкой df в Impala:

 import hdfs
from hdfs.ext.kerberos import KerberosClient
import pandas as pd
import ibis
hdfs = KerberosClient('< URL address >')
client = ibis.impala.connect(host="impala.sys.cigna.com", port=25003, timeout=3600, auth_mechanism="GSSAPI", hdfs_client=hdfs)
db=client.database("< database >")
db.create_table("pythonIBISTest", df)
  

. . . но получаю сообщение об ошибке AttributeError: module 'ibis' has no attribute 'impala' .

Примечание: я уже установил модули hdfs, ibis, ibis-framework [Kerberos] и impyla в терминале Jupyter.

Что я делаю не так?

Комментарии:

1. ibis в PyPI другой пакет. Удалить ibis и установить только ibis-framework

2. @OluwafemiSule Спасибо — я думаю, что я ближе к решению. Я деинсталлировал ibis , перезапустил свое ядро, затем повторно запустил свой код. Теперь я вижу сообщение об ошибке: HdfsError: Authentication failure. Check your credentials.

Ответ №1:

Возможно, вам потребуется pip install ibis-framework[impala] получить часть ibis для impala

Комментарии:

1. Спасибо за предложение — я поговорил с одним из программистов моей компании, и он создал пользовательский пакет Python, который позволяет нам записывать таблицу в Impala.