【问题标题】:Apache Superset config.py onApache Superset config.py 上
【发布时间】:2020-03-30 09:35:17
【问题描述】:
我正在尝试自定义我的 Apache Superset。我对终端不是很熟悉。
documentation 上写着:
“要配置您的应用程序,您需要创建一个文件(模块)superset_config.py 并确保它在您的 PYTHONPATH 中。以下是您可以复制/粘贴的一些参数配置模块:".
假设我想将 ROW_LIMIT 减少到 5000,并且我的 Superset 安装在名为“ExperimentSuperset”的 Anaconda 环境中。
有人可以向我解释我必须做什么才能达到这个结果吗?
非常感谢!
【问题讨论】:
标签:
macos
terminal
anaconda
pythonpath
superset
【解决方案1】:
一个简单的方法是:
在当前目录下自定义了superset_config.py文件。
示例superset_config.py
ROW_LIMIT = 5000
SUPERSET_WEBSERVER_PORT = 9777
SQLALCHEMY_DATABASE_URI = 'sqlite:///superset.sqlite3'
我们不需要导出环境变量SUPERSET_CONFIG_PATH。相反,我们可以使用修改后的PYTHONPATH
来调用我们的预期操作
例如:
PYTHONPATH=.:$PYTHONPATH superset db upgrade
# or
PYTHONPATH=.:$PYTHONPATH python main.py
【解决方案4】:
pythonpath主要定义为:
- 执行目录
- pythonpath 环境变量
- 模块的默认安装目录
(也可以使用 sys.path 和 pth 文件来增强它——它定义了目录,它本身需要在 python 中)。
根据我的经验,pythonpath 变量由大多数超集应用程序设置,可以通过在控制台中调用 set 或 echo $pythonpath 以最简单的方式进行评估。你也可以使用python从终端打印出pythonpath:python -c "import sys; print('\n'.join(sys.path))"。
Superset 在路径中查找名为superset_config.py 的文件。设置环境变量SUPERSET_CONFIG_PATH=/your/path/to/superset_config.py时,即使不在路径中,也可以直接指向文件。
在源代码中有一个名为config.py 的文件,其中包含所有设置。那里的所有设置都将被从superset_config.py 加载的设置覆盖。所以你只需要定义你的超集应用程序的细节。
所以你的具体步骤是:
- 创建一个新的空
superset_config.py
- 将
ROW_LIMIT = 5000 添加到文件中
- 确保它在python路径或设置环境变量
SUPERSET_CONFIG_PATH
Superset 然后将使用配置文件并读取您的设置。注意,配置是一个功能齐全的 python 文件,因此您可以添加方法等。在超集示例中,有一个有用的方法从环境变量中提取参数。这在使用时特别有用,例如码头工人。