分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
Superset 数据分析平台使用
一、实验介绍
1.1 实验内容
Superset 是 Airbnb 开源的数据分析与可视化平台,同时也是由 Python 语言构建的轻量级 BI 系统。Superset 可实现对 TB 量级数据进行处理,兼容常见的数十种关系或非关系型数据库,并在内部实现 SQL 编辑查询等操作。除此之外,基于 Web 服务的 Superset 可实现多用户协使用,并可针对不同角色进行权限管理。Superset 如今已归属于 Apache 孵化项目,并被 Yahoo,豆瓣等国内外知名公司使用。
1.2 实验知识点
- Superset 平台使用
1.3 实验环境
- python2.7
- Xfce 终端
1.4 适合人群
本课程难度为一般,属于初级级别课程,适合具有 Python 基础,并对数据分析与可视化感兴趣的用户。
二、Superset 简明教程
2.1 Dashboards 看板
当我们登陆 Superset 之后,默认呈现的是看板界面。看板是许多 BI 类工具的必要元素之一,它的作用是将不同类型的图表平铺集中呈现,这些图表甚至可以由不同数据表绘制而来。看板所达到的效果也是显而易见的。
Superset 提供默认提供了 3 个示例看板,分别是:Misc Charts、Birth、World’s Bank Data。我们可以通过下面的动图看到,它集中显示了世界人口变化的一些数据图表。其中包含地图样式、饼状图、散点图、柱状图、词图等。
看板中的图表并不是静态的,它可以实随着数据库的变化时刷新。你可以随意组合、拖动、拼接不同类型的图表。图表是动态可交互。例如图中所示,当我们在 World’s Bank Data 看板中选择特定地区时,看板中的所有图表都会刷新到选定地区的数据。
2.2 Slice 切片
上面,我们介绍了看板,而看板中的图表均是通过 Slice 切片工具绘制。你可以通过顶部菜单栏进入到切片。
切片,实际上就是抽取整个数据库中的特定一块数据,然后针对这块数据进行绘图的过程。通过对数据库切片,我们就可以用不同类型的图表绘制不同维度的数据,从而达到对整个数据集的透视效果。
你可以通过左上角的 + 号新建一个切片。进入之后,需要选取数据表、选取绘制的图类型。界面的下方,是针对数据的一些选项。通过不同的筛选条件,将需求绘制出来。
Superset 目前支持绘制 30 多种不同类型的图表,它们如下图所示。其中,Sankey,Chord Diagram,Word Cloud 等样式的图表都非常不错。
2.2 Sources 数据源
Slice 切片中使用到的数据由 Superset 数据源提供。Superset 数据源实际上就是连接本地数据库。
Superset 安装完成之后,就可以直接连接 SQLite 数据库。但同时也支持连接常见的数据库类型,不过需要安装依赖。相关数据库安装命令如下:
# MySQL 数据库pip install mysqlclient# Postgres 数据库pip install psycopg2# Presto 数据库pip install pyhive# Oracle 数据库pip install cx_Oracle# Redshift 数据库pip install sqlalchemy-redshift# MSSQL 数据库pip install pymssql# Impala 数据库pip install impyla# SparkSQL 数据库pip install pyhive# Greenplum 数据库pip install psycopg2# Athena 数据库pip install "PyAthenaJDBC>1.0.9"# Vertica 数据库pip install sqlalchemy-vertica-python# ClickHouse 数据库pip install sqlalchemy-clickhouse
Superset 使用了 SQLAlchemy,使得连接数据库变得非常简单。SQLAlchemy 是 Python 语言下的一款开源软件,它提供了 SQL 工具包及对象关系映射工具。
下面,我们就尝试连接一个数据库,首先你可以先通过下面命令下载 SQLite 数据库文件。示例数据来源于 清华大学开放中文词库。
wget http://labfile.oss.aliyuncs.com/courses/919/THUOCL_IT.sqlite
然后,我们点击顶部数据库菜单,然后通过 + 新建连接。
需要填写数据库名称,然后重点是 SQLAlchemy URI
。这里是 SQLite 数据库,在 Linux 下它的链接如下:
sqlite:home/shiyanlou/THUOCL_IT.sqlite
链接以 sqlite://
开头,后面是数据文件的绝对路径 //home/shiyanlou/THUOCL_IT.sqlite
。
不同类型数据库的 SQLAlchemy URI
开头部分不一致,具体如下:
# MySQL 数据库mysql://# Postgres 数据库postgresql+psycopg2://# Presto 数据库presto://# Oracle 数据库oracle://# sqlite 数据库sqlite://# Redshift 数据库postgresql+psycopg2://# MSSQL 数据库mssql://# Impala 数据库impala://# SparkSQL 数据库jdbc+hive://# Greenplum 数据库postgresql+psycopg2://