• win10下apache superset的使用


    官方文档:http://superset.apache.org/

    一、环境准备

    安装python3即3.4以上版本 

    二、python创建一个虚拟环境用来作为superset的容器

    -pip3 install virtualenv

    创建虚拟环境:
            -(1)virtualenv env_supersetobj(创建虚拟环境)

       -(2)virtualenv  env_supersetobj(创建纯净环境)
            -(3)virtualenv --system-site-packages env_supersetobj(创建环境,继承原安装的模块)
        激活该虚拟环境:
            -windows进到目录里,的Script文件夹输入:activate
            -linux:soruse env1/Script/activate
        退出虚拟环境:
            -deactivate
        在pycharm中使用虚拟环境
            -files--settings--Project--Project Interpreter--add选择虚拟环境路径下的python.exe即可

    三、安装VS2015

      Superset中依赖的一些库需要使用microsoft visual c++ 2010编译。

      根据说明应该是也可以安装 Visual C++ 2015 Build Tools:  

           http://landinghub.visualstudio.com/visual-cpp-build-tools

    四、依赖包安装失败

      这里是个大坑, 我之前直接安装superset一直安装不成功,报错,和pandas的版本有关

      解决办法是:通过 http://www.lfd.uci.edu/~gohlke/pythonlibs/#sasl 下载对应的版本

      比如咱们安装的python 是3.6版本,系统是64位,就下载sasl-0.2.1-cp36-cp36m-win_amd64.whl。

      

      另外,安装过程中出现“ Failed building wheel for xxx”的解决办法如下:

      出现原因:缺失相应的whl文件。

      解决办法:下载并安装对应的whl文件。

      例如,出现“ Failed building wheel for python_geohash”则下载相应python版本的python_geohash文件。

      比如Python3.6版本,则找到python_geohash-0.8.5-cp36-cp36m-win_amd64.whl文件进行下载即可。

    pip install F:python_geohash-0.8.5-cp36-cp36m-win32.whl 

    五、安装superset

      1.安装

    pip install superset

      2.创建管理员账号

    fabmanager create-admin --app superset

      3.初始化数据库

      先进入到 Python安装目录(或者virtualEnv的虚拟目录)下,libsite-packagessupersetin下

    python  superset db upgrade

      4.加载例子

      后续操作都需要在libsite-packagessupersetin下

    python superset load_examples

      5.初始化角色和权限

    python superset init

      6.启动服务

      端口 8088, 使用 -p 更改端口号

    python superset runserver -d

    六、配置数据源

    Superset默认使用sqllite。支持以下数据库:

    MySQL

    pip install mysqlclient

    mysql://

    Postgres

    pip install psycopg2

    postgresql+psycopg2://

    Presto

    pip install pyhive

    presto://

    Oracle

    pip install cx_Oracle

    oracle://

    sqlite

     默认有了

    sqlite://

    Redshift

    pip install sqlalchemy-redshift

    postgresql+psycopg2://

    MSSQL

    pip install pymssql

    mssql://

    Impala

    pip install impyla

    impala://

    SparkSQL

    pip install pyhive

    jdbc+hive://

    Greenplum

    pip install psycopg2

    postgresql+psycopg2://

    Athena

    pip install "PyAthenaJDBC>1.0.9"

    awsathena+jdbc://

    Vertica

    pip install sqlalchemy-vertica-python

    vertica+vertica_python://

    ClickHouse

    pip install sqlalchemy-clickhouse

    clickhouse://

      使用pip安装好数据库后,就可以在Web界面中,配置相关数据源了。

      数据库的连接字符串格式参见:http://docs.sqlalchemy.org/en/rel_1_0/core/engines.html#database-urls 

    七、选择charts

      选择数据源之后添加数据源下的数据表。

      然后配置图表,可选样式颜色等等。通过看板可以将多个图表集合。

    八、嵌入后台应用

      1.修改配置文件

      修改superset中的config.py配置文件,将PUBLIC_ROLE_LIKE_GAMMA改为True。

      注释意思:

      授予公共角色与GAMMA角色相同的权限集。

      如果想让匿名用户查看,可以设置这里,在仪表盘对特定数据集的授权显示,也在这里设置。

      2.去掉X-Frame-Options限制避免iframe跨站访问问题

    九、安全

      安全->角色列表

      权限释义:

      can explore on Superset为导出图表

      can explore json on Superset为导出图表json

      all database access on all_database_access访问所有数据库权限,也可以设置单个

    十、获取并使用iframe展示html

      1.配置好之后从superset右上角  “</>” 按钮获得url地址

      2.然后在所要展示的页面中

    <iframe
      width="600"
      height="400"
      seamless
      frameBorder="0"
      scrolling="no"
    src="xxxxxxxxxxxx"
    >
    </iframe>

      3.重定向superset图表URL

      为什么需要重定向呢?这里主要是为了后台应用隐藏superset的图表链接,防止被扫描到后,恶意使用;只要在后台应用重新写一个具有权限控制的请求链接,重新定向到superset的图表链接,这样就能防止数据泄露出去。

      4.动态传参交互

      superset图表提供出去的链接地址,是以json作为参数传递的。

      如:

    form_data={"datasource":"3__table","viz_type":"line","slice_id":63,"granularity_sqla":"ds","time_grain_sqla":null,"since":"100 years ago","until":"now","metrics":[{"aggregate":"SUM","column":{"column_name":"num_california","expression":"CASE WHEN state = 'CA' THEN num ELSE 0 END"},"expressionType":"SIMPLE","label":"SUM(num_california)"}],"adhoc_filters":[{"expressionType":"SIMPLE","subject":"gender","operator":"==","comparator":"boy","clause":"WHERE","sqlExpression":null,"fromFormData":true,"filterOptionName":"filter_gtzm93u9ocq_9sy5vd5ocfg"},{"expressionType":"SIMPLE","subject":"name","operator":"LIKE","comparator":"Aaron","clause":"WHERE","sqlExpression":null,"fromFormData":true,"filterOptionName":"filter_6cgdixdoh3_5wrgyuorwoa"}],"groupby":["name"],"limit":"10","timeseries_limit_metric":{"aggregate":"SUM","column":{"column_name":"num_california","expression":"CASE WHEN state = 'CA' THEN num ELSE 0 END"},"expressionType":"SIMPLE","label":"SUM(num_california)"},"order_desc":true,"contribution":false,"row_limit":50000,"color_scheme":"bnbColors","show_brush":"auto","show_legend":true,"rich_tooltip":true,"show_markers":false,"line_interpolation":"linear","x_axis_label":"","bottom_margin":"auto","x_ticks_layout":"auto","x_axis_format":"smart_date","x_axis_showminmax":false,"y_axis_label":"","left_margin":"auto","y_axis_showminmax":false,"y_log_scale":false,"y_axis_format":".3s","y_axis_bounds":[null,null],"rolling_type":"None","time_compare":[],"num_period_compare":"","period_ratio_type":"growth","resample_how":null,"resample_rule":null,"resample_fillmethod":null,"annotation_layers":[],"compare_lag":"10","compare_suffix":"o10Y","markup_type":"markdown","metric":"sum__num","where":"","url_params":{}}

      

  • 相关阅读:
    数列变形中隐含条件的指向作用
    有效挖掘题目中的隐含条件[高阶辅导]
    三角模板函数使用示例
    【Machine Learning in Action --2】K-近邻算法构造手写识别系统
    【Machine Learning in Action --2】K-近邻算法改进约会网站的配对效果
    Python使用os.listdir()函数来获得目录中的内容
    【python问题系列--1】SyntaxError:Non-ASCII character 'xe5' in file kNN.py on line 2, but no encoding declared;
    【Python爬虫实战--1】深入理解urllib;urllib2;requests
    Centos7下安装numpy+matplotlib+scipy
    【Machine Learning in Action --1】机器学习入门指南
  • 原文地址:https://www.cnblogs.com/songyifan427/p/11113459.html
Copyright © 2020-2023  润新知