如何从jupyter笔记本的hdfs中读取大表作为Dataframe?脚本通过docker映像启动。
图书馆:
sasl==0.2.1
节俭==0.11.0
节俭sasl==0.4a1
异丙基==0.16.2
from impala.dbapi import connect
from impala.util import as_pandas
impala_conn = connect(host='hostname', port=21050,
auth_mechanism='GSSAPI',
timeout=100000, use_ssl=True, ca_cert=None,
ldap_user=None, ldap_password=None,
kerberos_service_name='impala')
这很管用。
import pandas as pd
df = pd.read_sql("select id, crt_mnemo from demo_db.stg_deals_opn LIMIT 100", impala_conn)
print(df)
这不管用。操作挂起,不给出错误。
import pandas as pd
df = pd.read_sql("select id, crt_mnemo from demo_db.stg_deals_opn LIMIT 1000", impala_conn)
print(df)
1条答案
按热度按时间ix0qys7i1#
这似乎是使用pandas read\u sql函数可以从impala移动的行数的问题。我也有同样的问题,但限制比你的低。您可能需要与数据库管理员联系以检查大小。以下是其他选项:https://docs.cloudera.com/machine-learning/cloud/import-data/topics/ml-running-queries-on-impala-tables.html