前端数据可视化开发平台FlyFish数据源应用教程详解

news2025/1/10 1:40:01

介绍

飞鱼(FlyFish)是云智慧开源的一款免费的数据可视化编排平台。通过简易的方式快速创建数据模型,通过拖拉拽的形式,快速生成一套数据可视化解决方案。在飞鱼产品中可以通过直接连接 MySQL 、 Oracle 等数据库直接从数据源中获取数据展示在可视化应用上,本文旨在为读者描述如何从数据源连接到数据展示在应用的步骤。

数据源类型

飞鱼(FlyFish)目前支持的数据源类型有如下几种。其中 MySQL、Postgres、ClickHouse、MariaDB、SqlServer、达梦、Oracle均为数据库,可以直接写sql获取数据。http数据源可以填写请求路径参数等信息,最终对返回的json结构做处理支持应用展示。

数据库类型数据

本篇文章以MySQL数据源为例,详细描述一下数据库类的数据源处理流程。

数据源创建

首先点击数据源管理页面的新建按钮,可以看到如下页面:

选中MySQL数据源类型,然后填写对应信息,其中具体信息含义如下:

  • 数据源名称:为新创建的数据源命名以便创建成功后在列表中找到他。
  • 连接地址:填写MySQL数据库的连接地址如图中示例,注意ip和端口号以及db名称的正确填写。
  • 数据库名称:该值不需要填写,会从连接地址中自动解析。
  • 用户名:连接MySQL数据库的用户名。
  • 密码:连接MySQL数据库的用户名对应的用户密码。

需要注意的是,由于对于不同的数据库定位到一个db所需的配置不同,所以不同的数据库所要填写的值可能不同,例如Oracle数据库如果上述内容,还有Schema名称需要填写。

信息填写完成之后可以点击链接测试按钮,校验当前db是否可以成功链接。弹出如下图所示内容,则表示成功链接。

如果弹出如下图,说明当前db并没有连接成功,需要检查所填写的信息是否正确,以及是否是网络问题,比如部分用户的db只在自己的内网可以访问。

测试链接成功后,点击保存数据源按钮保存、设置好的数据源信息。可以点击编辑去更改数据源的信息,以及删除按钮去删除掉不想要的数据源。在列表上看到保存成功的数据源如下:

数据查询创建

创建好数据源只是、使用数据源的第一步,下一需要通过写SQL来获取所需内容。点击侧边栏的数据查询按钮来创建新的数据查询。点击新建基础查询按钮我们看到如下页面:

如果当前数据源过多,可以输入之前设置好的数据源名称来进行检索。选中之前添加好的数据源,可以看到所有的数据表信息会展示在页面上,如下图所示:

选中想要获取数据的表会跳转到书写SQL的页面,并且自动生成全表查询的SQL如下图所示:

在这可以去书写想要实现的SQL语句,需要注意,这里并不是只限制查询当前选中的表,依然可以写其他的表名或者做关联查询。此外对于不同类型的数据源需要注意SQL语法,比如MySQL的语法和Oracle的语法就会有区别,需要根据数据源的类型书写可以识别的sql语句。写完SQL之后可以点击输入右上角的执行按钮,来执行编写的SQL语句,如下图所示:

在输入框下面,可以看到当前SQL语句查询返回的数据信息,如果结果和预期不符可以继续更改SQL改成自己满意的效果。此外,输入框右上角还有一个设置参数的按钮。该按钮主要是为了解决SQL复用问题。举个例子,比如有两张大屏,一张需要id字段,另一张需要name字段,那么用户是不是需要写两句SQL呢?而设置参数就完美解决了这个问题,下面来看一下设置参数如何使用。

如下图可将我自己需要查询的字段设置为一个叫做param的参数,即使用{{}}将我想要设置的参数包裹起来:

然后点击设置参数按钮,系统会自动解析需要设置的参数如下图弹窗

在这里设置这个参数的类型为:文本,然后默认值为:id,填写一个描述信息,然后点击确定。当再次点击执行按钮就会使用参数默认值,展示新的结果如下图:

这个参数可以应用于语句的各个地方,查询字段、表名、查询条件等,开发者可以依据个人需求进行变量设置。后面会详细描述如何在大屏上怎么设置此类变量。

当调整好SQL语句点击页面右上角的保存,会出现如下弹窗:

为查询起一个方便记忆的名字,是很好的选择,以便可以很快找到它。点击确定即保存成功。此时,在数据查询的列表页,便可以看到新建成功的数据查询,如下图所示。

点击数据名称可以对数据查询进行编辑,需要注意的是,如果该数据查询已经应用于大屏组件,如果更改后返回结果与之前不一致,可能导致大屏展示异常。

数据查询的应用

接下来讲一下如何将已经配置好的数据查询应用于大屏。

从侧边栏点击到应用创建->应用开发,可以新创建一个应用或者在之前的应用中编辑,在应用上点击开发,进入如下开发页面:

以滚动列表图中组件为例。拖动一个滚动列表组件到编辑器然后选中该组件,在右侧边栏选中【数据】 ,然后在数据类型下拉选中选中【数据查询】,之后在数据查询输入框中输入之前命名好的数据【查询名称】,在搜索结果中选中它,可以发现之前设置的参数也会同时展示在下面,这个时候就可以去更改参数的值,如下图所示:

上图中可以看到当选中之前创建的数据查询,然后将参数值改为name,点击应用后就可以看到组件上展示的信息已经变更为name字段的信息。然后进行应用的保存即可。至此完成数据源从配置到应用的全部流程。

http类型数据

http数据源区分于数据库类的数据源添加的时候有自己单独的逻辑。

数据源创建

在数据源列表页面,点击新建按钮然后选中数据源类型为http看到如下界面:

字段解释:

  • 数据源名称:自定义新增数据源的名称,符合要求即可。
  • 数据库名称:定义一个数据库的名称,用于后面的sql加工。
  • 请求:下拉选选择请求类型,然后在后面的地址栏填写对应的路径。
  • header请求头:填写该请求的header信息。
  • 请求参数:填写该请求的参数信息。
  • 请求体:填写请求体信息。

全部填写完成后点击保存数据源即可保存成功。需注意当前数据源在后面数据查询的创建时会被当做一个db处理,所以数据库名名称会出现在SQL的查询语句中,这里的命名需要符合对应的规则。

数据表创建

回到数据源列表页面,找到新建的数据源点击进入数据源详情页面,如下图所示:

点击左下角的新增表格,然后输入自定义的数据表的名称,点击回车即可开始建表。这里可以理解为数据库的建表,便于后续做SQL加工建表过程中,会把数据源的header及参数信息回显在这里,然后点击执行查询按钮,可以在结果预览中看到请求返回的数据如上图所示。随后可以开始对返回的信息做字段定义来进行json抽取,点击定义字段下面的添加按钮,看到如下弹窗:

字段解释:

  • 字段名称:定义一个字段名称,可以理解为数据库中的列名,用于后续sql加工
  • 字段类型:下拉选选择字段的类型
  • 数据抽取:填写jsonpath路径,用于提取json中的数据。
  • 数据预览:在填写jsonpath的过程中会实时展示当前jsonpath提取到的信息

对于jsonpath的具体用法可参考:https://blog.csdn.net/software_test010/article/details/125427926,在数据预览中看到已提取到所需数据之后,点击确定来保存当前字段的设置。提取到所需字段会有类似数据库的行列展示如下图:

图中数据表的展示信息即当前数据表最终拿到的结果,点击保存即可。重复上面步骤可以对同一数据源创建多张数据表,即对返回的结果进行不一样的字段抽取来解决请求复用问题。

数据查询创建

创建数据查询的过程与数据库类似,可参考之前段落。

点击新建数据查询,选择已经创建的数据源,以及创建的数据表,然后编写SQL,如下图:

需要注意的是,这里是不支持连表查询,由Http数据源创建的数据表只能在单表中查询。此外,上述使用的是Spark的SQL语法,底层是使用Spark引擎进行SQL分析和处理的,书写SQL时需要注意。

设置参数的操作以及如何将数据查询应用在组件上进行展示在上文中已经描述过,此处不再赘述。

结语

开源数据可视化编排平台FlyFish是一款功能强大且易于使用的数据可视化工具,能够帮助用户将大量的数据转化为直观、易于理解的图表和图形。作为一个全面的数据可视化解决方案,该平台不仅提供了丰富的可视化选项,还支持多种数据源的应用技术。

至此,相信各位开发者对如何在FlyFish平台新增数据源,以及如何在数据源中获取自己想要的数据并应用于组件中,应该有了大致的了解。心动不如行动,点击下方链接,快来通过FlyFish搭建属于自己的一套数据可视化大屏吧!

GitHub 地址: https://github.com/CloudWise-OpenSource/FlyFish

Gitee 地址: https://gitee.com/CloudWise/fly-fish

FlyFish 贡献指南: http://bbs.aiops.cloudwise.com/d/717-flyfish

FlyFish 模版中心: https://www.cloudwise.ai/flyFishComponents.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/582662.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LiangGaRy-学习笔记-Day17

1、磁盘的介绍 自动分区、手工分区、命令工具分区 1.1、磁盘分类 根据介质来区分: 机械硬盘和固态硬盘 通过盘大小: 3.5英寸和2.5英寸 通过接口分类: SAS、SATA、FC scisi 根据功能: 桌面和企业级别 1.2、磁盘类型 HD…

关于【Stable-Diffusion WEBUI】生成全身图:插件解决面部崩坏问题

文章目录 (零)前言(一)脸难看的问题(1.1)面部修复(1.2)远景脸部问题 (二)面部修复插件(Face Editor)(2.1)模型…

最常见JS加密保护代码的方法

当谈到JavaScript(简称JS)代码的保护时,加密是一种常见的策略。加密可以帮助保护你的JS代码,防止未经授权的访问、修改和复制。在本文中,我将向你介绍一些常用的js加密保护方法,并提供一些通俗易懂的示例代…

如何有效和快速清理C盘

电脑在运行过程中会产生磁盘碎片,时间一长垃圾文件就会越多。而且我们平常不敢乱清理C盘中的文件,以免因为误删导致系统出现故障,所以垃圾文件才肆意占用系统盘空间。不过我们可以选择系统自带的“磁盘清理”功能“制服”它,给C盘…

(转载)多种群遗传算法的函数优化算法

以下内容大部分来源于《MATLAB智能算法30个案例分析》,仅为学习交流所用。 1 理论基础 1.1 遗传算法早熟问题 遗传算法是一种借鉴生物界自然选择和进化机制发展起来的高度并行、随机、自适应的全局优化概率搜索算法。由于优化时不依赖于梯度,具有很强…

商代数与积代数

商代数 设 R R R使 A < S , ∗ 1 , ∗ 2 , ⋯ , ∗ n > A \left<S, *_1, *_2,\cdots, *_n\right> A⟨S,∗1​,∗2​,⋯,∗n​⟩上的同余关系&#xff0c;则 R R R使 S S S上的等价关系&#xff0c;因此 R R R可诱导出 S S S的一个划分 S / R { [ a ] R ∣ a ∈…

【大数据处理与可视化】七、时间序列分析

【大数据处理与可视化】七、时间序列分析 实验目的实验内容实验步骤一、案例——股票收盘价分析1、读取数据&#xff0c;并转换成DataFrame对象展示2、将“交易日期”一列设置为行索引3、根据数据中“收盘价”一列的数据绘制一张折线图&#xff0c;以了解近些年来收盘价格的趋势…

Buck环路响应伯德图Mathcad绘制

一直不理解环路响应&#xff0c;调试也是应用参考电路&#xff0c;虽然自动化的课程忘的差不多了&#xff0c;但也不是偷懒的借口&#xff0c;直到昨天看到可以用Mathcad计算BUCK电路工作在电压控制的CCM连续模式&#xff0c;这是基于开关平均法推导出的小信号传递函数模型。原…

IDEA-报错 Failed to read artifact descriptor for xxx解决方法

项目场景&#xff1a; idea下载若依微服务的项目&#xff0c;配置环境产生了报错 问题描述 在idea里配置环境时maven报错Failed to read artifact descriptor for xxxx 原因分析&#xff1a; 在进行导包的时候maven和jdk版本导致的&#xff0c;更换版本之后大部分报错不存在…

分享一个科幻风的404

先看效果&#xff1a; 再看代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>404页面</title><script src"https://cdnjs.cloudflare.com/ajax/libs/three.js/r125/th…

PyTorch-Loss Function and BP

目录 1. Loss Function 1.1 L1Loss 1.2 MSELoss 1.3 CrossEntropyLoss 2. 交叉熵与神经网络模型的结合 2.1 反向传播 1. Loss Function 目的&#xff1a; a. 计算预测值与真实值之间的差距; b. 可通过此条件&#xff0c;进行反向传播。 1.1 L1Loss import torch from …

面试:Webpack的核心概念

基本概念 Entry&#xff1a;入口&#xff0c;Webpack 执行构建的第一步将从 Entry 开始&#xff0c;可抽象成输入。Module&#xff1a;模块&#xff0c;在 Webpack 里一切皆模块&#xff0c;一个模块对应着一个文件。Webpack 会从配置的 Entry 开始递归找出所有依赖的模块。Chu…

Socket(一)

文章目录 1. 简介2. 用Socket从服务器读取3. 用Socket写入服务器4. 构造和连接Socket4. 选择从哪个本地接口连接5. 构造但不连接 1. 简介 Socket允许程序员将网路连接看作是另外一个可以读/写字节的流&#xff0c;Socket对程序员掩盖了网络的底层细节&#xff0c;如错误检测、…

单例模式总结

(153条消息) 解决线程安全问题&&单例模式_Master_hl的博客-CSDN博客 饿汉式 在类初始化时直接创建实例对象&#xff0c;不管你是否需要这个对象都会创建 直接实例化饿汉式&#xff08;简洁直观&#xff09; 特点&#xff1a;构造器私有化、自行创建且用静态变量保…

基于改进ISODATA算法的负荷场景曲线聚类(matlab代码)

目录 1 主要内容 聚类中心选取步骤 核方法 2 部分代码 3 程序结果 4 程序链接 1 主要内容 程序复现文献《基于机器学习的短期电力负荷预测和负荷曲线聚类研究》第三章《基于改进ISODATA算法的负荷场景曲线聚类》模型&#xff0c;该方法不止适用于负荷聚类&#xff0c;同样…

六级备考19天|CET-6|翻译练习|真题·青藏铁路|9:30~11:20

目录 1 中文 2 练习 ​ 3 答案​ 4 解析 5 订正 复习 1 中文 2 练习 3 答案 4 解析 铁路 railway/railroad 全长 with a total length of 其中xxx在海拔4000多米以上&#xff0c;非限制性定语从句&#xff0c;960 kilometers of which are over 400 me…

人工智能电话客服机器人-提升效率节约人力成本

随着科技的不断发展&#xff0c;人工智能技术已经开始广泛应用于各个领域。其中&#xff0c;人工智能电话客服机器人已经成为企业提升效率、节约人力成本的重要工具。本文将从以下几个方面探讨人工智能电话客服机器人的优势和应用。 一、人工智能电话客服机器人的优势 1.24小时…

一体化校园水电管理智能系统的实际应用

摘 要&#xff1a;针对传统的校园水电管理方法管理能力低的情况&#xff0c;提出了一种基于一体化平台的校园水电管理智能管控系统设计。通过中间件设计和显示模块设计对校园的水电情况进行采集与显示&#xff0c;设定水电用量标准&#xff0c;在水电用量超出设定标准后&#x…

开始学习使用 turtlesim, ros2, and rqt

目标&#xff1a;使用turtlesim软件包和rqt工具 Background Turtlesim是一个用于学习ROS 2的轻量级模拟器。它说明了ROS 2在最基本的层面上所做的事情&#xff0c;让我们学习知道以后你将如何处理真实的机器人或机器人模拟。 ros2工具是用户如何管理、检查和与ROS系统交互的…

涨粉秘籍 | 如何快速涨粉并转化为铁粉?

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…