精华内容
下载资源
问答
  • Superset 是一款由 Airbnb 开源的“现代化的企业级 BI(商业智能) Web 应用程序”,其通过创建和分享 dashboard(看板),为数据分析提供了轻量级的数据查询与可视化方案。 主要功能及特点 (为啥是英文的,因为我...

    官方网站:http://superset.apache.org/

    Superset 是一款由 Airbnb 开源的“现代化的企业级 BI(商业智能) Web 应用程序”,其通过创建和分享 dashboard(看板),为数据分析提供了轻量级的数据查询与可视化方案。

    主要功能及特点
    (为啥是英文的,因为我不知道怎么翻译的好,反正能看懂就行)

    A rich set of data visualizations
    
    An easy-to-use interface for exploring and visualizing data
    
    Create and share dashboards
    
    Enterprise-ready authentication with integration with major authentication providers (database, OpenID, LDAP, OAuth & REMOTE_USER through Flask AppBuilder)
    
    An extensible, high-granularity security/permission model allowing intricate rules on who can access individual features and the dataset
    
    A simple semantic layer, allowing users to control how data sources are displayed in the UI by defining which fields should show up in which drop-down and which aggregation and function metrics are made available to the user
    
    Integration with most SQL-speaking RDBMS through SQLAlchemy
    
    Deep integration with Druid.io
    

    官方看板示例
    Superset看板演示

    1.搭建流程

    我的本机环境如下:

    # 系统版本:Windows10家庭版
    # Python:python 3.7.9
    # Superset:0.36.0
    

    1.1.构建虚拟环境

    当然,不构建虚拟环境也是可以搭建的,这里构建虚拟环境可以相对保证咱们只需要用到Superset的依赖库,纯净。这里我们简单介绍2中构建虚拟环境的方式,其中一种是通过Anconada navigator直接创建,另外一种是在命令行通过命令创建,大家可以根据自己的实际情况进行选择尝试。

    ** 方式一:** Anconada navigator
    如果你是安装的Anconada,可以直接打开 Anconada navigator,通过以下示例图方式创建虚拟环境supersetTest (名字可以自定义)
    创建虚拟环境
    ** 方式二:** 命令行
    如果你安装的是Anconada,通过以下命令即可创建一个名为“supersetTest”的虚拟环境。

    conda create -n supersetTest python=3.7.7
    

    命令行构建虚拟环境
    如果是直接安装的python官方环境,可以先安装一个用于创建虚拟环境的第三方库virtualenv,然后再进行虚拟环境构建。

    # 安装第三方库
    pip install virtualenv
    # 创建一个名为supersetTest且不拷贝系统的python第三方库的虚拟环境
    virtualenv --no-site-packages supersetTest
    # 激活该虚拟环境
    supersetTest\Scripts\activate.bat
    # 退出该虚拟环境
    supersetTest\Scripts\deactivate.bat
    

    1.2.激活虚拟环境

    通过上述方式一,我们构建了虚拟环境 supersetTest,由于安装superset关联的第三方库较多,我们激活该虚拟环境后再进行superset的安装。

    # 激活虚拟环境,后续在该环境下安装相关库
    activate supersetTest
    

    1.3.安装superset

    在之前就行安装的时候,遇到很多问题,当然最后都解决了,所以这里直接以最终解决后总结的安装步骤进行介绍(注意:需要安装在上一步构建的虚拟环境中)。
    第一步:升级setuptools和pip;

    # Put all the chances on your side by getting the very latest pip and setuptools libraries.:
    pip install --upgrade setuptools pip
    

    第二步本地安装以下两个库;

    python_geohash-0.8.5-cp37-cp37m-win_amd64.whl
    sasl-0.2.1-cp37-cp37m-win_amd64.whl

    https://www.lfd.uci.edu/~gohlke/pythonlibs进行以上两个轮子的下载(大家根据自己的环境进行版本选择),然后本地安装,安装过程中一定要注意 被安装文件路径写全。

    pip install C:\Users\Gdc\Downloads\sasl-0.2.1-cp37-cp37m-win_amd64.whl
    pip install C:\Users\Gdc\Downloads\python_geohash-0.8.5-cp37-cp37m-win_amd64.whl
    

    第一步第三步:安装superset。
    完成第一步的安装后,再进行本步骤,一般是很可以很顺利完成安装的,否则可能会出现很多报错(基本都是依赖关系库版本匹配问题等)

    pip install apache-superset==0.36.0
    

    1.4.初始化superset

    直接拷贝官网初始化流程如下:

    # Initialize the database
    superset db upgrade
    
    # Create an admin user (you will be prompted to set a username, first and last name before setting a password)
    $ export FLASK_APP=superset
    superset fab create-admin
    
    # Load some data to play with
    superset load_examples
    
    # Create default roles and permissions
    superset init
    
    # To start a development web server on port 8088, use -p to bind to another port
    superset run -p 8088 --with-threads --reload --debugger
    

    不过,这些命令需要在superset安装路径下使用,比如我的是这样:

    C:\Users\Gdc\anaconda3\envs\supersetTest\Lib\site-packages\superset\bin

    按照流程进行执行即可,每一步之前记得加上 python,部分步骤如:
    python superset db upgrade【数据库初始化】

    初始化数据库

    python superset fab create-admin【创建账号】

    创建账号

    python superset run -p 8088 --with-threads --reload --debugger【启动superset】

    启动superset

    1.5.superset启动脚本

    为了快捷启动superset,我们可以编写简单的脚本bat文件

    call cd C:\Users\Gdc\anaconda3\envs\supersetTest\Lib\site-packages\superset\bin
    call activate supersetTest
    call python superset run -p 8088 --with-threads --reload --debugger
    
    pause
    

    2.使用流程

    当我们启动superset之后,在按照提示在浏览器输入“http://127.0.0.1:8088/”即可进行访问,在右侧可以选择页面语言(我这里选择的是中文)。
    superset

    2.1.数据源设置

    数据源设置里我们可以设置数据库,superset支持很多数据库,具体大家在官网即可查阅。这里我使用的是mysql,因此可以在数据源中新增mysql数据源,参考如下:

    mysql://root:password@localhost/databasename?charset=utf8
    

    添加数据库

    2.2.上传csv文件

    除了直接从数据库获取数据外,如果源数据是csv文件,也可以通过上传csv文件(其实是写入了你关联的数据库里)

    上传csv文件

    2.3.图表

    提供很多可视化图表,大家可以根据自己的需求进行数据字段的拖拽,然后创建需要的图表形式。

    图表

    2.4.看板

    多个图表可以组成看板,看板页面也可以自己拖拽图表创建你喜欢的看板形式。
    看板

    展开全文
  • 开源bi(续)

    千次阅读 2018-03-05 10:12:38
    java 系:Helical Insighthttps://github.com/helicalinsight/helicalinsightpython系:Superset : Python, ReactRedash , Python, AngularJsMetabase , Clojure, React



    java 系:Helical Insight

    https://github.com/helicalinsight/helicalinsight



    python系:

    1. Superset : Python, React
    2. Redash , Python, AngularJs
    3. Metabase , Clojure, React




    展开全文
  • 准备python 3.8.6的环境 # 安装pyenv管理python版本 brew install pyenv # 将如下代码加入~/.zshrc中 export PYENV_ROOT=~/.pyenv export PATH=$PYENV_ROOT/shims:$PATH if which pyenv > /dev/null; th

    1. 开发环境源代码部署

    1.1 后端环境

    1. 下载源码

      git clone https://github.com/apache/superset.git
      
    2. 准备python 3.8.6的环境

      # 安装pyenv管理python版本
      brew install pyenv
      
      # 将如下代码加入~/.zshrc中
      export PYENV_ROOT=~/.pyenv
      export PATH=$PYENV_ROOT/shims:$PATH
      if which pyenv > /dev/null;
        then eval "$(pyenv init -)";
      fi
      
      # 安装python 3.8.6
      pyenv install 3.8.6
      
      # 切换到3.8.6
      pyenv local 3.8.6
      
      # 新建虚拟环境,建议在源码的同级目录运行
      python -m venv superset-venv
      
      # 切换到虚拟环境
      source superset-venv/bin/activate
      
    3. 安装所需包环境

      # mac下的开发工具包,如果已经安装,可以忽略
      xcode-select --install
      
      brew install pkg-config libffi openssl
      env LDFLAGS="-L$(brew --prefix openssl)/lib" CFLAGS="-I$(brew --prefix openssl)/include" pip install cryptography==2.4.2
      pip install --upgrade setuptools pip
      
      # 如果不安装如下mysql-connector-c包,则在后续安装其他包时,会提示没有mysql的相关错误信息。
      brew reinstall mysql-connector-c
      echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.zshrc
      export LDFLAGS="-L/usr/local/opt/mysql-client/lib"
      export CPPFLAGS="-I/usr/local/opt/mysql-client/include"
      
      # 如果有代理,可以使用pysocks代理
      pip install pysocks
      
      # 进入到源码目录,安装所需包环境。若无代理,则可以不用--proxy,替换为清华源-i https://pypi.tuna.tsinghua.edu.cn/simple
      cd superset
      pip install -r requirements/local.txt --proxy="socks5://127.0.0.1:1080"
      
    4. 配置文件

      1. 创建一个配置文件superset_config.py 内容如下
      # Superset specific config
      ROW_LIMIT = 5000
      
      SUPERSET_WEBSERVER_PORT = 8088
      
      # Flask App Builder configuration
      # Your App secret key
      SECRET_KEY = '\2\1thisismyscretkey\1\2\e\y\y\h'
      
      # The SQLAlchemy connection string to your database backend
      # This connection defines the path to the database that stores your
      # superset metadata (slices, connections, tables, dashboards, ...).
      # Note that the connection information to connect to the datasources
      # you want to explore are managed directly in the web UI
      SQLALCHEMY_DATABASE_URI = 'mysql://mysql用户名:mysql面面@mysql的ip:3306/superset的库名?charset=UTF8'
      
      # Flask-WTF flag for CSRF
      WTF_CSRF_ENABLED = True
      # Add endpoints that need to be exempt from CSRF protection
      WTF_CSRF_EXEMPT_LIST = []
      # A CSRF token that expires in 1 year
      WTF_CSRF_TIME_LIMIT = 60 * 60 * 24 * 365
      
      # Set this API key to enable Mapbox visualizations
      MAPBOX_API_KEY = ''
      
      REDIS_HOST = "redis的ip"
      REDIS_PASSWORD = "redis的密码"
      SUPERSET_CACHE_REDIS_URL = "".join(['redis://:', REDIS_PASSWORD, '@', REDIS_HOST, ':6379/2']) #这里的2是redis里选择的库
      
      CACHE_CONFIG = {
          'CACHE_TYPE': 'redis',
          'CACHE_DEFAULT_TIMEOUT': 300,
          'CACHE_KEY_PREFIX': 'superset_',
          'CACHE_REDIS_HOST': 'redis',
          'CACHE_REDIS_PORT': 6379,
          'CACHE_REDIS_DB': 2,
          'CACHE_REDIS_URL': SUPERSET_CACHE_REDIS_URL
      }
      
      DATA_CACHE_CONFIG = {
          'CACHE_TYPE': 'redis',
          'CACHE_DEFAULT_TIMEOUT': 60 * 60 * 24, # 1 day default (in secs)
          'CACHE_KEY_PREFIX': 'superset_results',
          'CACHE_REDIS_URL': SUPERSET_CACHE_REDIS_URL,
      }
      # 这里把语言设置为中文
      LANGUAGES = {
          'zh': {'flag': 'cn', 'name': 'Chinese'},
      }
      
      1. 设置配置文件的环境变量,可以放在~/.zshrc
      export SUPERSET_CONFIG_PATH=/你的config全路径/superset_config.py
      
    5. 安装本地编译生成的包,并进行后端数据库准备和环境预设

      # github源码根目录运行,编译并安装apache-superset包
      pip install -e .
      # 数据库环境准备
      superset db upgrade
      export FLASK_APP=superset
      # 创建admin账号
      superset fab create-admin
      # (可选)装载示例数据
      superset load_examples
      # 初始化权限
      superset init
      

    1.2 前端环境

    brew install nvm
    # 在~/.zshrc中添加
    export NVM_DIR="$HOME/.nvm"
      [ -s "/usr/local/opt/nvm/nvm.sh" ] && . "/usr/local/opt/nvm/nvm.sh"
      [ -s "/usr/local/opt/nvm/etc/bash_completion.d/nvm" ] && . "/usr/local/opt/nvm/etc/bash_completion.d/nvm"
    source ~/.zshrc
    cd 源代码根目录/superset-frontend
    nvm install
    nvm use
    npm ci
    nvm use
    

    1.3 开发环境运行

    superset run -p 8088 --with-threads --reload --debugger
    

    2. 生产环境部署

    1. 使用gunicorn工具运行,前端使用nginx。

      pip install gevent
      pip install gunicorn
      # 官网推荐参数
      gunicorn -w 10 -k gevent  --timeout 120 -b  127.0.0.1:8088 --limit-request-line 0 --limit-request-field_size 0 --statsd-host localhost:8125 --daemon "superset.app:create_app()"
      
    2. nginx配置

      server {
         listen 6789;
         server_name 0.0.0.0;
         location / {
              proxy_buffers 16 4k;
              proxy_buffer_size 2k;
              proxy_pass http://127.0.0.1:8088;
         }
      }
      

    3. 部署问题汇总

    1. gunicorn运行出错,提示cannot import name 'Any' from partially initialized module 'typing'

      原因是在源代码根目录/superset下运行,它会根据环境加载本目录的typing.py文件,不在该目录运行即可。
      
    2. 登录页面后,出现404和空白页

      前端没有编译部署
      
    展开全文
  • 开源BI分析工具 -- superset安装

    千次阅读 2018-04-11 09:43:35
    本文章主要介绍superset的安装,用于连接到kylin数据库,做可视化数据分析用。superset连接kylin的案例分析将在下篇博客中介绍。本人kylin安装节点是 6、7、8...OS: centos7Superset版本:0.22.1Python版本:2.7 vir...
    本文章主要介绍superset的安装,用于连接到kylin数据库,做可视化数据分析用。superset连接kylin的案例分析将在下篇博客中介绍。
    本人kylin安装节点是 6、7、8
    superset安装节点为8,8的资源利用率最少,安装时为最新版,下面参考文档中有些配置已经过时,因此写下此博客供最新版本的安装。
    OS: centos7
    Superset版本:0.22.1
    Python版本:2.7 virtualenv-15.1.0
    Druid版本:0.9.2
    步骤一:安装cryptography
    cryptography的作用是将连接密码加密。
    # yum upgrade python-setuptools
    # yum install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel libsasl2-devel openldap-devel

    步骤二,安装pip
    如果还没有安装pip,就需要安装pip:
    pip下载:
    wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb" --no-check-certificate
    pip安装:
    tar -xzvf pip-1.5.4.tar.gz
    cd pip-1.5.4
    python setup.py install
    如果报错,请看:

    步骤三,安装virtualenv
    官网推荐在virtualenv中安装 superset (Python 3 already ships virtualenv, for Python 2 you need to install it)。
    [root@xxx-8 ~]#pip install virtualenv

    步骤四,创建虚拟环境
    [root@xxx-8 ~]#virtualenv venv
    New python executable in /root/venv/bin/python2
    Also creating executable in /root/venv/bin/python
    Installing setuptools, pip, wheel...
    很简单,就是virtualenv 环境名称[自定义的名称,自己喜欢什么就写什么]
    默认情况下,虚拟环境会依赖系统环境中的site packages,就是说系统中已经安装好的第三方package也会安装在虚拟环境中,
    如果不想依赖这些package,那么可以加上参数 --no-site-packages 建立虚拟环境
    即变成了:
    [root@xxx-8 ~]# virtualenv venv --no-site-packagesNew python executable in test_env/bin/pythonInstalling setuptools, pip...done.

    步骤五,启动虚拟环境
    创建成功后,会在当前目录下生成对应的目录文件。
    [root@xxx-8 ~]# ls -al ./venv
    total 8
    drwxr-xr-x 5 root root 82 Mar 1 13:18 .
    dr-xr-x---. 9 root root 4096 Mar 1 13:17 ..
    drwxr-xr-x 2 root root 248 Mar 1 13:18 bin
    drwxr-xr-x 2 root root 23 Mar 1 13:17 include
    drwxr-xr-x 3 root root 23 Mar 1 13:17 lib
    lrwxrwxrwx 1 root root 3 Mar 1 13:17 lib64 -> lib
    -rw-r--r-- 1 root root 60 Mar 1 13:18 pip-selfcheck.json

    [root@xbn-cdh-8 ~]# cd venv/bin/
    [root@xbn-cdh-8 bin]#source ./activate
    启动成功后,会在前面多出 venv 字样,如下所示
    (venv) [root@xbn-cdh-8 bin]#
    接下来的操作都是在这个虚拟环境下进行的。
    若想退出虚拟环境
    (venv) [root@xbn-cdh-8 bin]# deactivate

    步骤六,安装mysqlclient。(此次安装,superset元数据不保存在MySQL,所以步骤略)
    将superset的元数据存储改成mysql,就需要这一步。
    ROOT权限下
    yum install mysql-devel
    virtualenv下:
    pip install mysqlclient
    参考:将 superset 的sqlite 改成 MySQL :

    https://github.com/apache/incubator-superset/issues/2467

    步骤七,安装superset
    1.安装
    查看有哪些版本
    pip查看superset所有可用版本(这里指定了镜像。官网的太慢),输入一个不存在的版本号,pip就会告诉你可用的版本号:
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple superset==999999

    (venv) [root@xbn-cdh-8 bin]#pip install -i https://pypi.tuna.tsinghua.edu.cn/simple superset==0.22.1
    如果不指定镜像,直接输入下面的即可:
    pip install superset==0.18.4
    卸载:
    pip uninstall superset

    2.设置Druid的时区:
    (venv) [root@xbn-cdh-8 superset]#vi /root/venv/lib/python2.7/site-packages/superset/config.py
    DRUID_TZ = tz.tzutc()
    改成:DRUID_TZ = tz.gettz('Asia/Shanghai')
    如下图:



    3.添加superset的配置文件
    在python所在的目录(如,我这里是/root/venv/bin下),手动添加superset的配置文件superset_config.py。内容如下(中文字符的行删掉):

    # ===============superset_config.py开始================
    #使用python2.7,如果下面三行不加的话,使用中文时会出问题。
    import sys # import sys package, if not already imported
    reload(sys)
    sys.setdefaultencoding('utf-8')
    #---------------------------------------------------------
    # Superset specific config
    #---------------------------------------------------------
    ROW_LIMIT = 5000
    SUPERSET_WORKERS = 4
    #默认是8088,改成8388
    SUPERSET_WEBSERVER_PORT = 8388
    #---------------------------------------------------------

    #---------------------------------------------------------
    # Flask App Builder configuration
    #---------------------------------------------------------
    # Your App secret key 这个我也不知道具体什么作用。按照官网就这么写了
    SECRET_KEY = '\2\1thisismyscretkey\1\2\e\y\y\h'

    #元数据存储默认使用的是sqlite。SQLALCHEMY_DATABASE_URI = 'sqlite:path/to/superset.db'
    #我这里改成mysql
    #mysql://用户名:密码@192.168.1.162/数据库名?charset=utf8
    SQLALCHEMY_DATABASE_URI = 'mysql://datag:yjkdatag@192.168.1.162/superset?charset=utf8'
    # Flask-WTF flag for CSRF
    WTF_CSRF_ENABLED = True

    # Set this API key to enable Mapbox visualizations
    MAPBOX_API_KEY = ''
    #汉化
    BABEL_DEFAULT_LOCALE='zh'
    LANGUAGES = {
    'zh': {'flag': 'cn', 'name': 'Chinese'},
    'en': {'flag': 'us', 'name': 'English'}
    }
    # =============== superset_config.py结束================

    4.初始化数据
    # Create an admin user (you will be prompted to set username, first and last name before setting a password)
    fabmanager create-admin --app superset
    password为:superset

    # Initialize the database 初始化数据库
    superset db upgrade

    # Load some data to play with
    supersetload_examples

    # Create default roles and permissions
    supersetinit


    5.汉化(此步骤略,老版本需要此操作)
    从源码中下载
    这个目录,复制到
    ./lib/python2.7/site-packages/superset/下
    自已翻译后需要将.po文件翻译成.mo文件:
    pybabel compile -d translations

    6.启动
    # Start the web server on port 8088, use -p to bind to another port
    superset runserver

    # To start a development web server, use the -d switch# superset runserver -d
    superset runserver
    或者指定端口:
    superset runserver -p 8388 &

    登录:
    # To start a development web server, use the -d switch# superset runserver -d



    展开全文
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 理论是实践的基础,把 Python 相关语法看了,就迫不及待,大笔一挥来个 Hello world 压压惊,理论终归是理论,实践还是要要的嘛,动手了之后,才能更好的掌(chui)握(niu)基(bi)础;发车了.......... ''' ...
  • <p>I would love to have the ability to programmatically create/deploy/integrate with Power BI (and Excel) products from python.</p><p>该提问来源于开源项目:microsoft/PTVS</p></div>
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 一、源码下载地址 ...Jiagu以BiLSTM等模型为基础,使用大规模语料训练而成。将提供中文分词、词性标注、命名实体识别、情感分析、知识图谱关系抽取、关键词抽取、文本摘要、新词发现等常用自然语言处理...
  • 可能不是最快的开源中文分词,但很可能是最准的开源中文分词 基于BiLSTM模型训练而成 包含分词,词性标注,实体识别, 都有比较高的准确率 用户自定义词典
  • 开源篇 一、Superset 1、技术架构:Python + Flask + React + Redux + SQLAlchemy 2、使用人群: (1)开发/分析人员做好看板,业务人员浏览看板数据 (2)业务人员可自行编辑图表,查看满足条件的结果,但使用...
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 开源Python POS和计费软件 描述 该软件使用Python 3编写,并由MySQL提供支持。 到目前为止,它已经在Linux上进行了测试。 特征 销售点 通过条形码编号,名称和代码名称查询和添加产品的功能。 使用唯一的联系移动...
  • <div><p>...t <p>I realized the range = xrange fix didn't work right, and ran into an edge case for ...ve made minor fixes to p2orbit.</p><p>该提问来源于开源项目:hannorein/rebound</p></div>
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • - Python、OLAP 中的商业智能 (BI) 视频 西班牙语和/或拉丁美洲程序员制作的视频 西班牙语教程 是一个创建隔离 Python 环境的工具。 在拉丁美洲举行的会议上的谈话 阿根廷 巴西 Python巴西 [7] Python巴西 [9] ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 606
精华内容 242
关键字:

python开源bi

python 订阅