python - Python-无法读取大文件

标签 python pandas hadoop impyla

如何从jupyter-notebook中的hdfs中读取一张大表作为 Pandas DataFrame?
该脚本通过docker镜像启动。

库:

  • sasl == 0.2.1
  • thrift == 0.11.0
  • thrift-sasl == 0.4a1
  • Impyla == 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)
    
    

    最佳答案

    使用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/

    相关文章:

    hadoop - 最后的 reducer 在MapReduce中非常慢

    python - 如果进程进入失效状态,是否有任何方法可以重新启动或恢复该进程?

    python - 通过检查连续元素来切片数据帧

    hadoop - EMR 5.16.0 - 启动了太多映射器

    java - 导入org.apache无法解析:Eclipse

    python - 为什么 Pandas read_excel 函数在 Pyinstaller .exe 中返回错误,但在 Python 解释器下却没有?

    python - 给定一个表示二维分布的二维 Numpy 数组,如何借助 Numpy 或 Scipy 函数从该分布中采样数据?

    python - 使用 numpy.apply

    python - 在python中,如何对没有返回值的函数进行单元测试?

    Python - 如何根据现有列中具有相应值的唯一值在数据框中创建新列?