当前位置: 首页 > backend >正文

Perspective:一款开源的交互式分析和数据可视化组件

Perspective 一款专为大规模和流式数据集设计的高性能交互式分析与可视化组件,可以用于创建可配置的报告、仪表盘、笔记本以及应用程序,由摩根大通开源并托管于金融开源基金会(FINOS)。

Perspective 通过结合多种前沿技术,实现了对海量数据的实时处理与动态展示,适用于金融分析、实时监控、数据科学等领域。

数据架构

Perspective 应用程序开发可以选择三种数据绑定架构:客户端、服务器、客户端/服务器复制。

其中,表数据通过序列化为 Apache Arrow 进行高效同步和复制。

客户端模式

客户端模式适用于中小型数据集、静态数据分析或离线报告。

Perspective 在客户端模式下作为浏览器 WebAssembly 代码库运行,数据一次性加载到浏览器的 Table 对象中,所有数据处理由 WebAssembly 引擎在浏览器中完成,响应速度极快。

服务器模式

服务器模式适用于超大规模数据集、高并发访问或实时流处理。

服务器模式下,数据存储在服务端(Python/Node.js/Rust),服务端执行计算后仅将结果数据返回给客户端渲染。

客户端/服务器复制

客户端/服务器复制模式适合中型数据集、实时交互以及高并发用户场景。

这种模式下,服务端存储全量数据,客户端通过增量复制获取数据子集并动态更新本地数据。同时,交互操作(例如筛选、排序)在客户端本地执行,避免频繁请求服务端。

功能特性

  • 高性能引擎:核心查询引擎用 C++ 编写,编译为 WebAssembly、Python 或者 Rust,支持高效处理亿级数据;采用 Apache Arrow 列式内存格式实现跨语言零拷贝数据共享,显著提升数据传输效率; 基于 ExprTK 表达式语言实现高性能列式计算,例如实时聚合、过滤。
  • 丰富的图形:提供表格、折线图、散点图、热力图、透视图等多种可视化组件,用户可通过拖拽交互实时调整分组、排序和筛选条件。
  • 框架无关的 UI:基于 Web 自定义组件封装,可以无缝嵌入 React、Vue 等前端框架,同时支持虚拟渲染,降低 DOM 负载。
  • 多语言支持:Perspective 提供了 JavaScript、Python 和 Rust API。Python 端深度集成 Pandas/NumPy,并且支持 JupyterLab 插件,方便在 Notebook 中进行交互分析。

快速体验

Perspective 官方网站提供了大量的示例,可以直接探索数据分析和可视化功能:

https://perspective.finos.org/

Perspective 提供了 Python、Javascript、Rust 等语言 API,可以直接安装使用,建议参考官方指南:

https://perspective.finos.org/guide/perspective.html

http://www.xdnf.cn/news/15592.html

相关文章:

  • 找不到或无法加载主类 org.gradle.wrapper.GradleWrapperMain
  • Maven详细解
  • 网络基础11 上公网--Internet接入技术
  • Python eval函数详解 - 用法、风险与安全替代方案
  • NLP——迁移学习
  • SQLite的可视化界面软件的安装
  • 【后端】.NET Core API框架搭建(8) --配置使用RabbitMQ
  • Kotlin属性重写
  • C++ AVL树实现详解:平衡二叉搜索树的原理与代码实现
  • 深度学习之神经网络(二)
  • cell2location复现
  • Clip微调系列:《CLIP-Adapter: Better Vision-Language Models with FeatureAdapters》
  • 深度学习中的注意力机制:原理、应用与实践
  • STM32-RTC内部时钟
  • 力扣 hot100 Day46
  • LVS集群实践
  • 前后端分离项目中的接口设计与调用流程——以高仙机器人集成为例
  • 数字ic后端设计从入门到精通11(含fusion compiler, tcl教学)全定制设计入门
  • 基于深度学习的情感分析模型:从文本数据到模型部署
  • c语言-数据结构-二叉树的遍历
  • [特殊字符] 第1篇:什么是SQL?数据库是啥?我能吃吗?
  • [特殊字符] Electron 中的 `global` 变量
  • 用Amazon Q Developer助力Python快捷软件开发
  • 创建SprngBoot项目的四种方式
  • 网络编程(数据库)
  • oracle服务器定时备份Windows Server
  • 服务攻防-Java组件安全数据处理FastJsonJackSonXStream自动BP插件CVE漏洞
  • vue中后端返回数据流,前端实现导出下载
  • Flutter基础(前端教程①①-底部导航栏)
  • 【动归解题套路框架】【带备忘录的递归】【最优子结构】【自下而上DP table】