首页 > 解决方案 > Apache Zeppelin 是否适合为多个用户呈现仪表板?

问题描述

换句话说, Zeppelin 能否在小范围内用作 Tableau 的替代品?

我有一个新的报告仪表板 UI/UX 设计。仪表板的数据来自关系数据库(SQL Server)。该仪表板可供我公司约 300 名同事查看。也许多达十个人会同时观看它。

目前仪表板是在 Kibana 中实现的,数据会定期从 SQL Server 导入 Elasticsearch。但是,新设计需要超出 Kibana 仪表板功能的某些小部件和数据聚合。此外,我的组织希望将此仪表板迁移到与我们一起工作的数据科学家认为更熟悉的技术(Kibana 不这样认为)。

此报告和仪表板可以迁移到 Tableau。Tableau 功能强大,足以执行所需的数据聚合并呈现所有所需的小部件。然而,我们负担不起许可证成本,但我们可以根据需要投入开发人员的时间。

我评估了几个开源仪表板工具(Metabase 和 Superset),它们缺少我们需要的聚合和小部件。我不会详细说明,因为问题不在于细节。很明显,元数据库和超集不足以满足我们的需求。

我的印象是 Apache Zeppelin 足够强大,它支持任意 Python 代码(我会使用 Pandas 进行数据聚合)、图形和小部件。但是,我不确定单个 Zeppelin 实例是否可以支持大量并发查看器。

我们想构建一组笔记本,并让组织中的所有同事都可以使用它们(访问控制不是问题,我们彼此信任)。笔记本将与数据过滤器和日期范围选择器交互。

看起来 Zeppelin 具有可切换的解释器隔离模式,我们可以使用它来使不同用户的会话彼此隔离。我的问题是托管 Zeppelin 的单个 t2.large AWS 实例是否可以支持多达 10 个用户查看聚合在 300k 行数据集上的报告。此外,是否存在任何可用性问题使得多用户查看报告仪表板的想法对于 Zeppelin 来说不切实际?

标签: tableau-apireportingdashboardapache-zeppelin

解决方案


我看到你在问几个问题:

  1. Zeppelin 能否小规模替代 Tableau?这取决于您在 Tableau 中使用的功能。每个平台都有自己的一组功能,其他平台有或没有,Tableau 有很多您在其他地方找不到的自定义选项。旨在让您的仪表板以 1:1 的比例转换,然后让每个人都意识到它的外观/操作会有所不同,因为它位于不同的平台上。

  2. 托管 Zeppelin 的 t2.large 能否支持多达 10 个并发用户查看聚合在 30 万行上的报告?t2.large 应该足以运行 Zeppelin、Tableau、Superset 等,同时 10 个并发用户提取 300k 行的报告。300k其实不算多。

使用现有基础架构加快速度并挤压更多并发用户的一个好方法是加速数据源。这就是许多聚合计算发生的地方。查看您的 ETL 并尝试提前聚合会有所帮助,同时确保您的数据科学家不会运行大量查询,从而降低数据库服务器的速度。


推荐阅读