【问题标题】:How to connect apache-superset with apache-drill?如何将 apache-superset 与 apache-drill 连接起来?
【发布时间】:2023-03-10 09:20:01
【问题描述】:

我正在尝试将superset(v2021.10.0,使用 docker)与drill(在嵌入式模式下)连接。

This tutorial 提到,当 Drill 处于嵌入模式时,查询字符串为 drill+sadrill://localhost:8047/dfs?use_ssl=False。但是,当我测试连接时出现此错误

日志显示:

superset_app             | DEBUG:superset.stats_logger:[stats_logger] (incr) test_connection_error.NoSuchModuleError
superset_app             | DEBUG:superset.stats_logger:[stats_logger] (incr) DatabaseRestApi.test_connection.error
superset_app             | DEBUG:superset.stats_logger:[stats_logger] (timing) DatabaseRestApi.test_connection.time | 46.48779600029229

基于this question 和我得到的错误,我认为错误是因为它缺少sqlalchemy-drill 依赖项,所以我尝试安装sqlalchemy-drill,将sqlalchemy-drill==0.1.dev 添加到使用的base.txt 文件中docker 安装 pip 依赖项。但我仍然遇到同样的错误。

我的假设是否正确并且它缺少 sqlalchemy-drill 依赖项?如何添加?如果不是,使用钻头运行超集(在 docker 上)的正确方法是什么?

更新

按照@ʈᵃᵢ链接中的说明操作后,我在 docker-compose 的输出中看到了这一点:

superset_worker         | Successfully built sqlalchemy-drill
superset_worker_beat    | Successfully built sqlalchemy-drill
superset_app            | logging was configured successfully
superset_app            | INFO:superset.utils.logging_configurator:logging was configured successfully
superset_init           | Installing collected packages: sqlalchemy-drill
superset_init           | Successfully installed sqlalchemy-drill-0.1.dev0
superset_worker         | Installing collected packages: sqlalchemy-drill
superset_worker_beat    | Installing collected packages: sqlalchemy-drill
superset_worker         | Successfully installed sqlalchemy-drill-0.1.dev0
superset_worker_beat    | Successfully installed sqlalchemy-drill-0.1.dev0

Could not load database driver: DrillEngineSpec 仍在发生。 (也用 0.3.dev0 测试过)。

更新 2:

从 master 获取最新的源代码(包括 @ʈᵃᵢ 的修复)后,我能够加载驱动程序。我还需要将localhost 更改为host.docker.internal

【问题讨论】:

    标签: docker pip apache-superset apache-drill


    【解决方案1】:

    如果您使用 docker-compose,请查看此文档以了解如何添加本地包 https://github.com/apache/superset/tree/master/docker#local-packages

    【讨论】:

    • 感谢您的回复!在添加该链接中提到的sqlalchemy-drill 并重建docker compose 后,它仍然会抛出ERROR: Could not load database driver: DrillEngineSpec
    • 您使用的是哪个版本的超集?
    • 如果您使用的是 docker-compose-non-dev.yml,我最近解决了安装本地覆盖的问题,github.com/apache/superset/pull/13926。我会拉最新的主人再试一次。
    • 这使驱动程序加载,谢谢!
    猜你喜欢
    • 2020-01-29
    • 2020-03-16
    • 2019-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-31
    相关资源
    最近更新 更多