Apache Superset config.py 上

Sim*_*tti 5 macos terminal pythonpath superset anaconda

我正在尝试自定义我的Apache Superset。我对终端不是很熟悉。

文档中写道: “要配置您的应用程序,您需要创建一个文件(模块)superset_config.py并确保它在您的 PYTHONPATH 中。以下是您可以在该配置模块中复制/粘贴的一些参数: ”

假设我想将 ROW_LIMIT 减少到 5000,并且我的 Superset 安装在名为“ExperimentSuperset”的 Anaconda 环境中。有人可以向我解释我必须做什么才能达到这个结果吗?

非常感谢 !

sup*_*ova 8

pythonpath主要定义为:

  1. 执行目录
  2. pythonpath环境变量
  3. 模块的默认安装目录

(也可以使用 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。所以你只需要定义你的超集应用程序的细节。

所以你的具体步骤是:

  1. 创建一个新的和空的 superset_config.py
  2. 添加ROW_LIMIT = 5000到文件
  3. 确保它在 python 路径中或设置环境变量 SUPERSET_CONFIG_PATH

Superset 然后将使用配置文件并读取您的设置。注意配置是一个功能齐全的python文件,因此您可以添加方法等。在超集示例中,有一个有用的方法从环境变量中提取参数。这在使用例如 Docker 时特别有用。


rva*_*lez 6

在最后config.py,您将看到它尝试superset_config.pySUPERSET_CONFIG_PATH环境变量加载,因此您需要做的就是:

  1. 创建文件
  2. 在那里设置您想要的值(ROW_LIMIT = 5000)
  3. 运行这个命令:
export SUPERSET_CONFIG_PATH=/path/to/your/superset_config.py

Run Code Online (Sandbox Code Playgroud)
  1. 重新启动您的超级组以进行更改

来源:https ://github.com/apache/superset/issues/2117#issuecomment-277666183