⑴Superset是一款绿色安全免费开源的数据探查与数据可视化平台,可以从具有Python
⑵DB-API驱动程序和SQLAlchemy的SQL的数据存储区或数据引擎中查询数据,是一款专门为企业打造的商业智能Web应用程序,适用于各行业的企业公司进行使用;Superset这款软件拥有可视化易用性和交互性等多种特性,可以帮主用户轻松对数据进行可视化分析,该软件运行程序自定义配置,可自由添加可视化插件,是一款云原生架构,专为数据探查和分析而设计的软件,非常方便实用,有需要的用户赶快下载吧。
⑶快速创建数据可视化互动仪表盘。
⑷丰富的可视化图表模板,灵活可扩展。
⑸细粒度高可扩展性的安全访问模型,支持主要的认证供应商(数据库OpenIDLDAPOAuth 等。
⑹简洁的语义层,可以控制数据资源在UI的展现方式。
⑺与Druid深度集成,可以快速解析大规模数据集。
⑻直观的界面,用于可视化数据集和制作交互式仪表板
⑼多种精美的可视化展示您的数据
⑽无代码可视化构建器,用于提取和呈现数据集
⑾世界一流的SQL IDE,用于准备数据以进行可视化,其中包括丰富的元数据浏览器
⑿轻量级的语义层,使数据分析人员能够快速定义自定义维度和指标
⒀对大多数说SQL的数据库提供开箱即用的支持
⒁无缝的内存中异步缓存和查询
⒂一种可扩展的安全模型,允许配置关于谁可以访问哪些产品功能和数据集的非常复杂的规则。
⒃与主要的身份验证后端(数据库,OpenID,LDAP,OAuth,REMOTE_USER等集成
⒄添加自定义可视化插件的功能
⒅用于程序化定制的API
⒆云原生架构,专为规模而设计
⒇.安装Docker引擎和Docker pose
⒈安装了Mac的Docker后,打开Docker的首选项窗格,转到“资源”部分,并将分配的内存增加到GB。默认情况下,仅分配GB的RAM,Superset将无法启动。
⒉按照适用于您的任何Linux风格的Docker指导,在Linux上安装Docker。由于docker-pose未在Linux上作为基本Docker安装的一部分进行安装,因此,一旦拥有可用的引擎,请按照Linux的
⒊docker-pose安装说明进行操作。
⒋不幸的是,Windows上没有正式支持Superset。Windows用户在本地尝试Superset的最佳选择是通过VirtualBox安装Ubuntu桌面VM,
⒌并继续在该VM中使用Linux上的Docker指令。我们建议为虚拟机分配至少GB的RAM,并配置至少GB的硬盘,以便为操作系统和所有必需的依赖项留出足够的空间。
⒍.克隆Superset的Github存储库
⒎使用以下命令在您的终端中克隆Superset的仓库:
⒏$ git clone
⒐该命令成功完成后,您应该superset在当前目录中看到一个新文件夹。
⒑.通过Docker pose启动Superset
⒒导航到您在步骤中创建的文件夹:
⒓$ cd superset
⒔我们建议您检出并运行上一个标记版本的代码:
⒕$ git checkout latest
⒖然后,运行以下命令:
⒗$ docker-pose -f docker-pose-non-dev.yml up
⒘您应该看到一堵墙,记录着机器上正在启动的容器的输出。一旦此输出变慢,您应该在本地计算机上有一个正在运行的Superset实例!
⒙注意:这将在非开发模式下显示超集,对代码库的更改将不会反映出来。如果要在开发人员模式下运行超集,只需将前面的命令替换为:
⒚$ docker-pose up
⒛然后等待superset_node容器完成资产的构建。
①您本地的Superset实例还包括一个Postgres服务器来存储您的数据,并且已经预先加载了Superset附带的一些示例数据集。现在,您可以通过Web浏览器访问Superset
②请注意,许多浏览器现在默认为https-如果您是其中之一,请确保使用http。
③使用默认的用户名和密码登录:
④username: admin
⑤password: admin
⑥Superset将数据库连接信息存储在其元数据数据库中。为此,我们使用加密Python库来加密连接密码。不幸的是,该库具有操作系统级别的依赖关系。
⑦Debian和Ubuntu
⑧以下命令将确保已安装必需的依赖项:
⑨sudo apt-get install build-essential libssl-dev libffi-dev python-dev
⑩python-pip libsasl-dev libldap-dev
Ⅰ在Ubuntu .中,以下命令将确保已安装必需的依赖项:
Ⅱsudo apt-get install build-essential libssl-dev libffi-dev python-dev
Ⅲpython-pip libsasl-dev libldap-dev
ⅣFedora和RHEL衍生的Linux发行版
Ⅴ使用yum程序包管理器安装以下程序包:
Ⅵsudo yum install g g-c++ libffi-devel python-devel python-pip
Ⅶpython-wheel openssl-devel cyrus-sasl-devel openldap-devel
ⅧMac OS X
Ⅸ如果您使用的不是最新版本的OS X,我们建议您进行升级,因为我们发现很多人遇到的问题都与较旧的Mac OS
ⅩX相关。更新后,请安装最新版本的XCode命令行工具:
㈠xcode-select --install
㈡我们不建议使用系统安装的Python。相反,请先安装 自制软件管理器,然后运行以下命令:
㈢brew install pkg-config libffi openssl python
㈣env LDFLAGS="-L$(brew --prefix openssl)/lib" CFLAGS="-I$(brew --prefix
㈤openssl)/include" pip install cryptography==..
㈥我们还要确保我们拥有pipand的最新版本setuptools:
㈦pip install --upgrade setuptools pip
㈧Python虚拟环境
㈨我们强烈建议在虚拟环境中安装Superset。Python附带有 virtualenv开箱即用的功能,但是您可以使用以下命令进行安装:
㈩pip install virtualenv
您可以使用以下方法创建和激活虚拟环境:
激活虚拟环境后,您安装或卸载的所有Python软件包都将限于此环境。您可以通过deactivate在命令行上运行来退出环境。
安装和初始化超集
首先,从安装开始apache-superset:
pip install apache-superset
然后,您需要初始化数据库:
superset db upgrade
通过运行以下命令完成安装:
如果一切正常,您应该能够在浏览hostname:port器中导航到(例如,默认情况下为本地localhost:,并使用您创建的用户名和密码登录。
在Kuberes中使用Helm安装Superset
要配置您的应用程序,您需要创建一个文件superset_config.py并将其添加到中
PYTHONPATH。以下是您可以在该文件中设置的一些参数:
中定义的所有参数和默认值
都可以在本地更改superset_config.py。管理员将希望通读该文件以了解可以在本地配置的内容以及适当的默认值。
由于superset_config.py用作瓶配置模块,它可以被用于改变设置烧瓶本身,以及瓶扩展喜欢flask-wtf,flask-cache,flask-migrate,和flask-appbuilder。Superset使用的Web框架Flask
App Builder提供了许多配置设置。请参阅 Flask App Builder文档 以获取有关如何配置它的更多信息。
SQLALCHEMY_DATABASE_URI:默认情况下,它存储在?/ .superset / superset.db中
SECRET_KEY:随机的长字符串
如果您需要从CSRF中豁免端点(例如,如果您正在运行自定义auth回发端点,则可以将端点添加到WTF_CSRF_EXEMPT_LIST:
WTF_CSRF_EXEMPT_LIST = [‘’]
在WSGI HTTP Server上运行
虽然您可以在NGINX或Apache上运行Superset,但我们建议在异步模式下使用Gunicorn。这甚至实现了惊人的并发性,并且相当容易安装和配置。请参考您首选技术的文档,以在您的环境中正常运行的方式来设置此Flask
WSGI应用程序。这是一个众所周知的异步设置,可以在生产环境中很好地工作:
有关更多信息,请参考Gunicorn文档。请注意,开发Web服务器(superset run或flask run不适用于生产。
如果您不使用Gunicorn,则可能需要flask-press通过PRESS_REGISTER = False在中进行设置
来禁用的使用superset_config.py。
负载均衡器背后的配置
如果您正在负载均衡器或反向代理(例如AWS上的NGINX或ELB后面运行超集,则可能需要利用运行状况检查端点,以便负载均衡器知道您的超集实例是否正在运行。/health如果Web服务器正在运行,则提供此选项将返回响应,其中包含“确定”。
如果负载均衡器正在插入X-Forwarded-For/X-Forwarded-Proto标头,则应ENABLE_PROXY_FIX =
True在超集配置文件(superset_config.py中进行设置 以提取和使用标头。
如果反向代理用于提供SSL加密,则X-Forwarded-Proto可能需要的明确定义 。对于Apache Web服务器,可以如下设置:
RequestHeader set X-Forwarded-Proto "https"
自定义OAuth配置
除了受FAB支持的提供商(Github,Twitter,LinkedIn,Google,Azure等之外,它还易于将Superset与其他支持“代码”授权的OAuth
Authorization Server实现相连接。
首先,在Superset中配置授权superset_config.py。
然后,创建一个CustomSsoSecurityManager扩展SupersetSecurityManager并覆盖的
oauth_user_info:
该文件必须superset_config.py与名称
位于同一目录custom_sso_security_manager.py。最后,将以下两行添加到superset_config.py:
from custom_sso_security_manager import CustomSsoSecurityManager
CUSTOM_SECURITY_MANAGER = CustomSsoSecurityManager
为了支持各种用户,Superset具有一些默认情况下未启用的功能。例如,某些用户具有更强的安全性限制,而另一些用户则没有。因此,Superset允许用户通过配置启用或禁用某些功能。对于功能所有者,您可以在Superset中添加可选功能,但仅会受到一部分用户的影响。
您可以使用标记来自来启用或禁用功能superset_config.py:
这是标志和说明的列表:
ENABLE_EXPLORE_JSON_CSRF_PROTECTION:出于某些安全方面的考虑,您可能需要在对explore_json端点的所有查询请求上强制实施CSRF保护。当
ENABLE_EXPLORE_JSON_CSRF_PROTECTION设置为true,您的用户无法GET请求
explore_json。此功能的默认值为,False并且explore_json将接受GET和POST请求。有关更多详细信息,请参见PR 。
PRESTO_EXPAND_DATA:启用此功能后,Presto中的嵌套类型将扩展为额外的列和/或数组。这是实验性的,不适用于所有嵌套类型。
Superset改进提案的目的是确保对Druid和SQLAlchemy连接器以一致且透明的方式处理时间间隔。
在SIP-之前,SQLAlchemy使用了包含端点,但是,如果未定义格式并且列格式不符合ISO
日期时间,则这些端点的行为可能类似于字符串列(由于按字典顺序(有关详细信息,请参阅SIP。 。
为了解决此问题,而不必为每个非IS
日期-时间列定义日期/时间格式,只需一次就可以通过extra参数在每个数据库级别上定义默认的列映射:
所有新部署都应通过在superset_config.py以下位置设置此值来启用SIP- :
SIP__ENABLED = True
鉴于图表创建者是否意识到时间范围不一致(并相应地调整了端点尚不清楚,因此更改所有图表的行为过于激进。相反,SIP-提供了一种软过渡功能,允许生产者(图表所有者查看提议的更改的影响并相应地调整其图表。
在启用SIP-之前,现有部署应向用户传达更改的影响,并定义宽限期结束日期(当然不包括在内,之后所有图表均应符合[开始,结束]间隔。
为了提高透明度,在图表时间范围内明确指出了当前的端点行为(对于所有连接器和数据库,在SIP-之后,它将是[开始,结束]。可以通过extra参数在每个数据库级别覆盖默认值。
请注意,在将来的版本中,将time_grain_endpoints通过代码更改和Alembic迁移来删除临时SIP-逻辑(包括
表单数据字段。