如何连接 apache-superset 和 apache-drill?
How to connect apache-superset with apache-drill?
我正在尝试连接 superset (v2021.10.0, using docker) with 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
到 docker 用来安装 pip 依赖项的 base.txt
文件。但我仍然遇到同样的错误。
我的假设是否正确并且缺少 sqlalchemy-drill
依赖项?如何添加?如果不是,运行 超集(在 docker 上)用 drill 的正确方法是什么?
更新
按照@ʈᵃᵢ link 的说明进行操作后,我在 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-compose,请查看此文档以了解如何添加本地包
https://github.com/apache/superset/tree/master/docker#local-packages
我正在尝试连接 superset (v2021.10.0, using docker) with 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
到 docker 用来安装 pip 依赖项的 base.txt
文件。但我仍然遇到同样的错误。
我的假设是否正确并且缺少 sqlalchemy-drill
依赖项?如何添加?如果不是,运行 超集(在 docker 上)用 drill 的正确方法是什么?
更新
按照@ʈᵃᵢ link 的说明进行操作后,我在 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-compose,请查看此文档以了解如何添加本地包 https://github.com/apache/superset/tree/master/docker#local-packages