如何从jupyter-notebook中的hdfs中读取一张大表作为 Pandas DataFrame?
该脚本通过docker镜像启动。
库:
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)
最佳答案
使用pandas read_sql函数可以从impala移动的行数似乎是一个问题。我有同样的问题,但是限制比您的限制低。您可能需要与数据库管理员联系以检查大小。
以下是其他选项:https://docs.cloudera.com/machine-learning/cloud/import-data/topics/ml-running-queries-on-impala-tables.html
关于python - Python-无法读取大文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60491052/