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

news2025/1/16 15:49:22

        数据科学是一门利用统计学、机器学习、数据挖掘、数据可视化等技术和方法,从数据中提取知识和信息的交叉学科。自上世纪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调试功能更直观的介绍,可参见以下两个视频:

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

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

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

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

相关文章

ASEMI代理ADUM131E1BRWZ-RL原装ADI车规级ADUM131E1BRWZ-RL

编辑:ll ASEMI代理ADUM131E1BRWZ-RL原装ADI车规级ADUM131E1BRWZ-RL 型号:ADUM131E1BRWZ-RL 品牌:ADI /亚德诺 封装:SOIC-16-300mil 批号:2023 安装类型:表面贴装型 引脚数量:16 工作温度…

基于springboot的“智慧食堂”设计与实现(源码等)

摘要 随着Internet的发展,人们的日常生活已经离不开网络。未来人们的生活与工作将变得越来越数字化,网络化和电子化。网上管理,它将是直接管理“智慧食堂”系统的最新形式。本xx是以构建“智慧食堂”系统为目标,使用java技术制作…

智能仿写软件-智能伪原创改写软件

智能仿写工具:营销创意的必备利器 在当今快节奏和不断发展的商业环境中,企业营销人员需要在短时间内产生大量有创意和高质量的内容。因此,智能仿写工具作为营销策略的一种创新方法而出现,可以帮助企业的写作团队更快速地生成文章…

【软考数据库】第八章 数据库SQL语言

目录 8.1 SQL语言概述 8.2 数据库定义 8.2.1 创建表(create table) 8.2.2 修改表 (alter table) 8.2.3 删除表 (drop table) 8.2.4 索引 8.2.5 视图 8.3 数据操作 8.3.1 查询语句格式 8.3.2 分组查询 8.3.3 其他操作 8.3.4 约束 8.4 数据授权 8.4.1 授权grant 8…

数据库索引的原理,为什么要用 B+树,为什么不用二 叉树?

1、B树和B树 一般来说,数据库的存储引擎都是采用B树或者B树来实现索引的存储。首先来看B树,如图所士 B树是一种多路平衡树,用这种存储结构来存储大量数据,它的整个高度会相比二叉树来说,会矮很多。 而对于数据库而言…

RFID系统在物流仓储中的应用

RFID系统是一种无线识别技术,最近成为物流仓储行业的热门话题。本文将介绍RFID系统在物流仓储中的应用,包括如何使用RFID标签进行物流管理,如何使用RFID技术提高仓库的安全性,并细述RFID技术在物流仓储中的优势。除此之外&#xf…

ArrayList快速失败机制

文章目录 一、什么是快速失败机制二、例子三、底层原理四、解决方法五、快速失败机制的一个小bug 一、什么是快速失败机制 ArrayList实现了一种称为快速失败(fail-fast)的机制,该机制在并发修改时会抛出ConcurrentModificationException异常。 这种机制的实现原理是:ArrayList…

机器学习案例 | 通过EBG学习概念cup

基于解释的学习(explanation-basedlearning)可简称为解释学习,是20世纪80年代中期开始兴起的一种机器学习方法。解释学习根据任务所在领域知识和正在学习的概念知识,对当前实例进行分析和求解,得出一个表征求解过程的因果解释树,以…

spark2

18Spark中stage的划分 和 shuffle的概念 Stage的划分是根据宽依赖,当触发action算子时,按照从后往前的回溯算法,当遇到会发生shuffle算子的时候,就会切分stage。 Stage的划分本质是shuffle,即当遇到会发生shuffle算子的时…

E. Sergey and Subway(思维 + dp)

Problem - E - Codeforces Sergey Semyonovich 是 N 市县的市长,他一直在思考如何进一步改善 Nkers 的生活。不幸的是,几乎所有可以做的事情都已经完成了,白天他已经没有更多的想法(他现在喜欢在晚上睡觉)。然而&#…

MySQL 中的 distinct 和 group by 的区别

目录 distinct用法distinct多列去重 group by的使用单列去重多列去重 distinct和group by原理隐式排序基于上述原因,Mysql在8.0时,对此进行了优化更新: 结论推荐group by的原因 在语义相同,有索引的情况下:group by和d…

体验 Whisper

体验 Whisper 1. 什么是 Whisper2. Github 地址3. 创建虚拟环境4. 安装 ffmpeg5. 部署 Whisper6. 使用 Whisper 1. 什么是 Whisper Whisper 是一个通用的语音识别模型。它是在一个大型的不同音频数据集上训练出来的,也是一个多任务模型,可以进行多语言语…

MySQL笔记(一):设计范式、基础概念、数据库定义语言DDL

MySQL设计范式、基础概念、数据库定义语言DDL MySQL设计范式、基础概念、数据库定义语言DDL MySQL设计范式、基础概念、数据库定义语言DDL数据模型属性的特点 数据库的创建主键 数据库设计规范第一范式(1NF)第二范式(2NF)第三范式…

智能制造之路-从MES到MOM

当前,中国正在大力推动制造业的转型升级,实现由传统制造向智能制造转型。而制造信息化系统,作为支撑企业实现智能制造的一个关键因素,也正越来越多的吸引企业领导人的关注。 某大型制造业集团企业(下文简称M集团&…

【Java虚拟机】JVM日志分析和可视化工具实操

1.JVM垃圾GC日志参数配置实战 Java虚拟机中垃圾收集器在运行过程中输出的日志信息主要用于分析垃圾收集器的运行状态、优化垃圾收集器的工作效率以及定位垃圾收集相关的问题GC日志会包含以下内容 垃圾收集器的名称和版本信息。垃圾收集器的运行时间、开始时间和结束时间。垃圾…

【Fluent】利用TUI命令在保存或导出文件时,给文件名加上时间步长、流动时间、迭代步数等求解过程变量的自动编码

一、问题背景 在CSDN的一篇博客(从Fluent导出数据到txt文档)中,一位博主分享了一串导出求解数据的TUI命令。 file/export/ascii data%t.txt () yes h2s y-velocity x-velocity q no 当时我不知道里面的%t是啥意思,估计是跟时间…

JMeter介绍与安装教程

简介 JMeter是一款开源的负载测试工具,它可以用于测试Web应用程序、API、数据库、负载均衡器等。JMeter 是由 Apache 软件基金会开发的,其目标是提供一个高性能、易于使用的负载测试工具。 JMeter 具有以下特点: 可扩展性:JMet…

又开发好一个系统,详细记录软著申请过程

经过几个通宵达旦的撸代码之后,又开发好了一个系统,和以往一样,系统开发好了少不了申请软件著作权证书,兄弟们,软著申请搞起来啊。 在版权保护中心后台提交资料,没有账号的需要先注册一个账号。很重要的一步…

停车场收费系统

1.系统的开发工具 1.1 AppServe集成应用 Mysql:MySQL 是一款安全、跨平台、高效的,并与 PHP、Java 等主流编程语言紧密结合的数据库系统。该数据库系统是由瑞典的 MySQL AB 公司开发、发布并支持,由 MySQL 的初始开发人员 David Axmark 和 Mi…

【网络技术】什么是CIDR

序言 世界上最幸福的事之一,莫过于经过一番努力后,所有东西正慢慢变成你想要的样子。 文章标记颜色说明: 黄色:重要标题红色:用来标记结论绿色:用来标记一级论点蓝色:用来标记二级论点 1 基础介…