美文网首页数据结构和算法分析
python连接kylin出现bug:sqlalchemy.ex

python连接kylin出现bug:sqlalchemy.ex

作者: 初九未成 | 来源:发表于2020-02-18 18:31 被阅读0次

    Python连接kylin的代码

    import pandas as pd
    import sqlalchemy  # Kylinpy 是一个提供 SQLAlchemy 方言实现的 Python 库
    
    def get_kylin_data(sql, project_name='SDK_DataWarehouse'):
        kylin_engine = sqlalchemy.create_engine('kylin://用户名:密码@IP地址:7070/{}'.format(project_name),
                                                connect_args={'timeout': 30})
        df = pd.read_sql(sql, kylin_engine)
        return df
    

    很多博客上都是这么写的,用sqlalchemy来构建连接。我这里取数是直接用的pandas,将引擎传进去即可。
    测试都没问题,在上线的时候遇到一个问题。

    问题描述

    sqlalchemy.exc.NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:kylin
    

    很明显,是在构造kylin_engine对象的时候,sqlalchemy.create_engine()方法出错了。

    解决方案

    很明显,是提示缺少了某个库,无法导入,但不知道具体是什么,只提到了跟kylin有关。
    经过线上和线下的库对比,原来是缺少了这个库: kylinpy

    pip install kylinpy
    

    安装好了就解决了。我也在requirements.txt文件里面添加上了这个依赖。
    我猜原因可能是,sqlalchemy事先根本不知道我会使用kylin,所以没有自动把这个依赖库安装上。

    后记

    经过这次错误提醒,我明白了,sqlalchemy库在构造引擎的时候,会调用对应引擎的包,比如在构造mysql引擎的时候,应该要对应的安装上pymysql,同理,其他也可以类推。

    另外,欢迎加入 Python数据分析 QQ群,号码:628966400
    任何相关问题都可以在群里提出!!!

    相关文章

      网友评论

        本文标题:python连接kylin出现bug:sqlalchemy.ex

        本文链接:https://www.haomeiwen.com/subject/caqnfhtx.html