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

技术控,看这里,一款支持断点调试的数据科学工具

        数据科学是一门利用统计学、机器学习、数据挖掘、数据可视化等技术和方法,从数据中提取知识和信息的交叉学科。自上世纪60年代,统计学家John W.Tukey首次提出“数据分析”(Data Analysis)的概念起,数据科学已历经了几十年的蓬勃发展,渡过了统计分析、数据挖掘、大数据等几个不同的发展阶段,直到今天的人工智能(AI)时代。

        伴随着数据科学的不断发展,用以辅助数据科学研究的数据科学工具也随之而生,并在数据科学发展的各个阶段都给予了有力的支撑。如:S语言、商业智能(BI)工具、R语言、Spark、Flink、Tensorflow等。但这些数据科学工具使用难度较大,需要使用者具备一定水准的编程能力。这对于从事专业学科研究的人员而言,门槛较高。因为其除了需要掌握本专业的知识外,还需要具备相应的编程能力,这样才有可能从事学科数据的科学研究,难度可想而知。因此,很多的科学研究工作都不得不采用团队协作的方式进行。团队由专业学科人员、程序员等组成,大家各司其职,相互配合。但这样的协作方式无疑会增加沟通成本、时间成本等各类成本。大约在2000年代初期,以Pentaho(现在为Hitachi Vantara的子公司)为代表的一众公司推出了基于图形化界面的低代码数据科学工具。支持用户通过简单的拖放操作,所见即所得的构建数据处理及数据分析的流程,大大降低了数据科学研究的时间成本和入门门槛,使得专业的学科人员有机会通过简单的学习,就直面学科数据的科学研究工作。如:Kettle(ETL工具)、RapidMiner、KNIME等。这类工具,界面简单易用,极大的提升了数据科学的研究效率。但与此同时,简单的操控背后,也隐藏着不小的缺憾,就是编写流程时的流程排错相对困难且不友好。

进行数据的可视化流程构建时,总不是那么一帆风顺的,时常会遇到数据中存在一些意想不到的问题,如值缺失、值类型不匹配、数据超长等。这些问题在最初的流程编写时,往往会被忽视。因为我们一般不会为未知的数据质量问题提前做好各类处置。一是问题各式各样,无法提前预知;二是所有额外的处理都会降低流程的执行效率。所以流程基本都是在发现问题,解决问题这样的过程中不断完善的。在基于编程的数据科学工具中,这类问题可通过调试工具,方便的予以定位并解决。流程编写者可通过打印输出或下断点的方式定位引发问题的数据并编写处理逻辑予以解决。而低代码数据科学工具由于未向流程编写者暴露底层接口,所以一般都是采用日志输出的方式帮助使用者定位流程中问题的。但日志输出的方式在数据量特别大,流程步骤较多的情况下非常不友好,会严重拖累流程的执行速度,也不容易定位到异常数据的位置和特征。因此断点技术仍是流程排错的不二选择。

        早期的低代码数据科学工具基本都是单机类工具,由于断点调试技术有一定难度,因此只有少部分工具提供了类似功能,如:Kettle、RapidMiner等。而如今,随着大数据的兴起,数据科学研究呈现出更复杂的趋势,且有更高的共享需求。因此,能够支持多人协同共享的SAAS平台类工具成为了如今低代码数据科学工具的主流。而这类工具支持断点调试功能就更加困难了。本文将向大家呈现一款低代码的数据科学SAAS类工具—Sengee(神机)。该工具支持断点调试功能,可以简单友好的辅助数据研究人员完成数据流程的编写。

        Sengee是一款支持分布式计算引擎的低代码数据科学工具,它支持多人并发使用。支持水平扩展计算引擎以满足使用者数量的扩展。其技术架构如下:

(图1)

        用户使用Sengee平台提供的Web界面,通过拖拽完成流程定义。然后将流程发送给Sengee服务器。Sengee服务器通过任务调度管理,将流程随机派发给一个可用的计算引擎,完成流程的执行。流程定义界面如下图:

(图2)

        当需要对流程进行断点调试时,点中算子端口,会弹出断点设置的浮动按钮,即“闪电”图标按钮(图3):

          

(图3) 

(图4) 

(图5) 

         点击按钮,为端口设置断点(图4)。表示,当该端口有数据流过时,触发断点。Sengee系统中的断点与一般调试工具和其它低代码科学工具都有所不同,其断点是设置在端口上的。输入/输出端口都允许设置断点,且允许设置多个断点。也允许对已设置断点的端口,删除或禁用断点(图5)。

        断点设置好后,点击“调试”按钮,调试流程。流程被派发到计算引擎后,计算引擎解释执行流程。当触发断点后,会反馈回界面,如下图:

(图6)  

        算子端口上会浮动出一个小窗口。点击眼睛的按钮,可弹出一个窗口显示触发断点的数据。也可以通过点击界面的”断点”页查看触发断点时的数据的样子。如希望放过断点,继续执行,可点击下一断点的按钮,跳过当前断点。可以点击界面最上方的“跳过所有断点”的按钮或“停止”按钮,继续或终止流程的运行。

        若数据量比较大,希望在数据满足某种特征后才触发断点。可使用条件断点功能,即为断点设置触发条件。断点的触发条件支持MOQL语句的Filter语法,在此不做赘述。如下图所示,可在“断点”页中,为选中的断点输入断点出发条件。

(图7)   

        调试流程,当数据满足触发条件时,触发断点。需要注意的是,在Sengee中,数据是以集合为基本单元在算子间流动的,若集合中有两条数据满足断点触发条件,其也只会被触发一次。若希望达到每一条数据都能够触发断点的调试效果,可将数据集合的大小设置为1,则每个集合每次都只有一条数据,这样就可达到每条数据都可触发条件断点的效果了。但这势必会使流程的运行效率大幅下降。这种技巧只建议在细粒度定位流程处理问题时使用。

关于Sengee调试功能更直观的介绍,可参见以下两个视频:

  • 《技术控,看这里,一款支持断点调试的低代码科学计算工具》
  • 《技术控,看这里,一款支持断点调试的低代码科学计算工具-条件断点》

        写在最后,对于低代码数据科学工具而言,易用性与可交互性是产品能否成功的重要指标,我们还在路上,欢迎有兴趣的朋友联系我们,试用产品,并给予我们您宝贵的意见和建议。

相关文章:

技术控,看这里,一款支持断点调试的数据科学工具

数据科学是一门利用统计学、机器学习、数据挖掘、数据可视化等技术和方法,从数据中提取知识和信息的交叉学科。自上世纪60年代,统计学家John W.Tukey首次提出“数据分析”(Data Analysis)的概念起,数据科学已历经了几十…...

论文导读 | 大语言模型上的精调策略

随着预训练语言模型规模的快速增长,在下游任务上精调模型的成本也随之快速增加。这种成本主要体现在两方面上:一,计算开销。以大语言模型作为基座,精调的显存占用和时间成本都成倍增加。随着模型规模扩大到10B以上,几乎…...

进阶自动化测试,这3点你一定要知道的...

自动化测试指软件测试的自动化,在预设状态下运行应用程序或系统,预设条件包括正常和异常,最后评估运行结果。将人为驱动的测试行为转化为机器执行的过程。 自动化测试框架一般可以分为两个层次,上层是管理整个自动化测试的开发&a…...

网络编程套接字API

一. linux平台 1.创建套接字 成功返回文件描述符,失败返回-1 int socket (int __domain, int __type, int __protocol) ;2.套接字绑定IP地址和端口号 成功返回0,失败返回-1 int bind (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len);3.开启…...

数字藏品的价值和意义

2022年以来,数字藏品概念在国内火热起来。从年初的《关于防范 NFT相关金融风险的倡议》到8月份央行数字货币 DCEP的正式面世,从中国香港首个“NFT”艺术品在香港拍卖市场成交到国内多家互联网大厂推出数字藏品平台,越来越多的企业开始试水数字…...

Unity物理系统脚本编程(上)

一、获取刚体组件Rigidbody 当一个物体挂载了刚体时&#xff0c;即可在脚本中获取该物体的刚体组件&#xff0c;代码如下 Rigidbody rigid; void Start() { rigidGetComponent<Rigidbody>(); } 一般将刚体变量命名为rigid并定义为一个字段&#xff0c;方便复用. 二、施…...

Java基础(十七)File类与IO流

1. java.io.File类的使用 1.1 概述 File类及本章下的各种流&#xff0c;都定义在java.io包下。一个File对象代表硬盘或网络中可能存在的一个文件或者文件目录&#xff08;俗称文件夹&#xff09;&#xff0c;与平台无关。&#xff08;体会万事万物皆对象&#xff09;File 能新…...

跑步课程导入能力,助力科学训练

HUAWEI Health Kit为开发者提供用户自定义的跑步课程导入接口&#xff0c;便于用户在华为运动健康App和华为智能穿戴设备上查看来自生态应用的训练课表&#xff0c;开启科学、适度的运动训练。 跑步课程导入能力支持生态应用在获取用户的华为帐号授权后&#xff0c;将跑步课程…...

MySQL---8、创建和管理表

1、基础知识 1.1 一条数据存储的过程 创建数据库-->确认字段-->创建数据表-->插入数据1.2 标识符的命名规则 1、数据库名、表名不得超过30个字符&#xff0c;变量名限制为29个 2、必须只能包含A-Z、a-z、0-9,、_共63个字符 3、数据库名、表名、字段名等对象名中间不…...

图像分类简单介绍

文章目录 图像分类简单介绍什么是图像分类图像分类的背景和意义传统的图像分类方法基于深度学习的图像分类方法总结 图像分类简单介绍 图像分类是计算机视觉领域的一个基本任务&#xff0c;其目标是将输入的图像分配给某个预定义的类别&#xff08;即标签&#xff09;。在本教…...

很多博主用Markdown格式文章?直呼真不错!

概述 Markdown 是一种轻量级标记语言&#xff0c;它可以使我们专注于写作内容&#xff0c;而不用过多关注排版&#xff0c;很多博主、作家等都用它来撰写文章~ 本文将给各位小伙伴介绍 Markdown 语法的使用&#xff0c;本篇文章索奇就是用的纯 markdown 语法来写的~ 标题 一级…...

【2023/05/07】汇编语言

Hello&#xff01;大家好&#xff0c;我是霜淮子&#xff0c;2023倒计时第2天。 Share Stray birds of summer come to my window to sing and fly away. And yellow leaves of autumn,which have no songs,flutter and full there with a sigh. 译文&#xff1a; 夏天的鸟&…...

AI 生成第3篇测试文章:怎么编写测试计划?

背景 在软件开发过程中&#xff0c;测试是十分重要的环节&#xff0c;测试计划是测试的基础和重要的组成部分。一个完善的测试计划能够指导测试工作&#xff0c;明确测试范围和要求&#xff0c;提高测试效率&#xff0c;保证软件质量和可靠性。本文将从测试计划的定义、编写步…...

怎么洗稿容易过稿-在线洗稿软件

自媒体洗稿软件 即使您是一位优秀的自媒体写作人员&#xff0c;也难免遇到让人头疼的撰写问题&#xff0c;例如无法处理大量原始文本、需要手动删除冗余信息、缺少时间针对每篇文章进行深入修改等问题。但是&#xff0c;现在有了我们的一款自媒体洗稿软件&#xff0c;您再也不需…...

图书馆客流人数统计分析系统方案

智慧客流人数统计分析系统可以帮助图书馆管理者更好地管理人群流量。系统能够自动统计区域内的人流量高峰期&#xff0c;并通过数据分析提供更加合理的管控&#xff0c;从而提区域内人群流动性&#xff0c;避免拥堵的情况。 AI客流视觉监控 客流量管控分析系统意义 讯鹏客流量管…...

linux命令之crontab详解

crontab 提交和管理用户的需要周期性执行的任务 更多linux命令详解&#xff1a;linux命令在线工具 补充说明 crontab命令 被用来提交和管理用户的需要周期性执行的任务&#xff0c;与windows下的计划任务类似&#xff0c;当安装完成操作系统后&#xff0c;默认会安装此服务工…...

浅谈一下接口工具(jmeter、postman、swagger等)

一、接口都有哪些类型&#xff1f; 接口一般分为两种&#xff1a;1.程序内部的接口 2.系统对外的接口 系统对外的接口&#xff1a;比如你要从别的网站或服务器上获取资源或信息&#xff0c;别人肯定不会把 数据库共享给你&#xff0c;他只能给你提供一个他们写好的方法来获取…...

面试题:react、 vue中的key有什么作用? (key的内部原理)

面试题:react、 vue中的key有什么作用? &#xff08;key的内部原理) 1.虚拟DOM中key的作用: key是虚拟DOM对象的标识&#xff0c;当状态中的数据发生变化时&#xff0c;Vue会根据【新数据】生成【新的虚拟DON】,随后Vue进行【新虚拟DOM】与【旧虚拟DOM】的差异比较&#xff0…...

C++之继承

目录 一、继承的概念及定义 1.1继承的概念 1.2继承的定义 1.2.1继承的格式 1.2.2继承基类成员访问方式的变化 二、基类和派生类对象赋值转换 三、继承中的作用域 4.派生类的默认成员函数 五、继承与友元 六、继承与静态成员 七、菱形继承及菱形虚拟继承 7.1菱形继承的问…...

轻松掌握!Pandas的数据添加技巧,3秒学会更高效的方法

在Pandas中&#xff0c;如果你想高效地向一个DataFrame添加一行数据&#xff0c;千万不要使用.append()方法&#xff01;因为这种方法需要创建新的对象然后再赋值&#xff0c;效率较低&#xff0c;尤其是DataFrame较大时。 本文将介绍3种Pandas添加一行数据更高效的方法&#x…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...