Blazer:一个免费开源、基于SQL的数据分析与可视化工具
Blazer 是一个免费开源、基于浏览器的数据分析与可视化工具,通过编写 SQL 查询数据、生成图表和仪表盘。
Blazer 项目使用 Ruby 和 HTML 开发,遵循 MIT 开源协议,源代码托管在 GitHub:
https://github.com/ankane/blazer
功能特性
-
多种数据源:包括 Amazon Athena、Amazon Redshift、Apache Drill、Apache Hive、Apache Ignite、Apache Spark、Cassandra、Druid、Elasticsearch、Google BigQuery、DB2、Informix、InfluxDB、MySQL、MariaDB、Neo4j、OpenSearch、Oracle、PostgreSQL、Presto、Trino、Salesforce、Snowflake、Socrata Open Data API(SODA)、SQLite、SQL Server、本地 CSV 文件,也可以通过自定义扩展支持更多数据源。
-
查询变量:可以通过定义变量实现灵活的查询语句,例如:
SELECT * FROM ratings WHERE rated_at >= {start_time} AND rated_at <= {end_time}
变量的值可以通过一个查询返回,或者指定静态枚举值。
- 丰富的图表:Blazer 可以基于查询结果中的字段类型字段生成图表,包括折线图、柱状图、散点图、饼图、地图等。例如:
SELECT area_name, q1_2024
FROM gdp_data;
以上查询返回了 2 个字段,一个字符串,一个数字。此时会自动创建一个柱状图。
如果将多个图表进行组合,可以生成一个仪表盘。
- 统计分析:支持关联分析,异常检测,数据预测等功能。
- 数据检测:通过定期执行查询语句,并且基于查询是否返回结果发送邮件提醒。
- 查询权限控制:Blazer 提供了一个简单的权限模型,名字以 # 号开头的查询语句只有创建者能查看,名字以 * 开头的查询语句只有创建者能编辑。
- 审计与安全:记录所有查询历史,提供用户认证、敏感数据隐藏等企业级安全措施。
在线体验
Blazer 提供了一个在线体验环境,网址如下:
https://blazer.dokkuapp.com/
选择其中一个示例查看,或者也可以创建新的查询、仪表盘或者检查。
下载安装
推荐使用 Docker 部署 Blazer,命令如下:
# 拉取镜像
docker pull ankane/blazer# 初始化数据表,需要替换数据库连接参数
docker run -ti -e DATABASE_URL=postgres://user:password@hostname:5432/dbname ankane/blazer rails db:migrate# 运行Web服务器,需要替换数据库连接参数
docker run -ti -e DATABASE_URL=postgres://user:password@hostname:5432/dbname -p 8080:8080 ankane/blazer
如果使用宿主机上的 PostgreSQL 数据库,hostname 可以指定为 host.docker.internal;对于 Linux,需要指定 --add-host=host.docker.internal:host-gateway。
启动服务之后,在浏览器中输入以下地址进行访问:
http://localhost:8080/