2.2 HuggingFists中的编程语言

server/2024/12/21 22:40:22/

        HuggingFists系统提供的可视化流程定义功能与传统的ETL或数据挖掘工具类似。使用者可以通过拖拽,可视化的定义出数据处理的管道(Pipe)或数据分析的图(Graph)。传统上,使用者只是将这种可视化流程定义方式视为一种配置功能而未将其理解为一种编程行为。主要是由于很少有工具能同时支持数据不同处理阶段流程的构建,比如ETL和数据分析两个阶段,这两类工作往往由不同的工具实现。但HuggingFists的理念是能够支持数据采集、处理、分析及共享多个阶段。因此,需要拥有更强大的数据流程定义能力,能够满足不同阶段的数据处理要求。

        为此HuggingFists定义了一套可视化编程语言--VO(Visual Operator),该语言可视为一个面向数据科学处理与计算的领域描述语言(DSL)。之所以将其称为语言,是因为其拥有很多其他通用开发语言的特征,比如:支持常量、变量、函数、异常等;也有VO语言特有的语法概念,比如:算子、子流程、参数变量、水位线等。通常情况下,使用者不需要有编程经验,也无需了解太多VO语言的语法概念,只要简单通过界面拖拽算子,设置参数就可以完成一个数据处理流程的编写。操作体验上更接近RPA与传统数据科学工具的感受。只有当需要处理与分析的数据流程比较复杂时,才会用到一些语言级别的概念。学习这些概念虽然会带来一些学习成本,一旦掌握,可以轻松解决复杂数据场景的问题,并获得高效的并行运行体验。VO语言详细介绍参见下一章。

        除了VO语言外,HuggingFists还支持SQL、Python、Javascript等语言,使用者可以在适当的时候运用这些语言来增强数据处理的能力。

        目前除了图数据库之外,HuggingFists对集成的所有数据库类型的数据源都支持使用SQL方言进行访问。之所以称之为方言是因为,其语法并非标准SQL语法,而是根据数据库特定的访问方式做了二次语法封装。这是一个很大的工程,但HuggingFists为了尽量给用户一个统一访问数据库数据源的方式,还是做了这样的一个转换工作。比如:ElasticSearch原本只支持DSL方式访问、MongoDB、Milvus只支持SDK,但在HuggingFists系统中,使用者都可以用SQL访问各个数据源。

        对于图类型数据库,由于国际上一直没有推出GQL标准,因此HuggingFists采用了Cypher语言作为图数据库的访问语言。目前HuggingFists支持了Neo4j和Nebula两款图数据库。对于其它不支持Cypher语言的图数据库,HuggingFists由于暂无能力做兼容性整合,故尚未支持。

        Python是HuggingFists系统的另一大开发语言。鉴于其在数据算法领域的广泛应用,拥有数万种算法包。HuggingFists在算法类算子中大量应用了Python脚本,特别是在深度学习领域,可以极其便利的整合各类成熟的算法实现。

        Javascript语言是由脚本算子引入系统的。主要方便熟悉Javascript语言的用户可以扩展算子的功能。但是,这种方式只适合较小的功能扩展,比如:对数据进行特别的公式计算,特别的抽取等。当扩展功能需要引入第三方依赖时,需要安装依赖,整合环境,会比较繁琐。HuggingFists除了支持Javascript脚本算子外,还支持Python脚本算子,未来还可能根据需要,扩展更多的编程语言。


http://www.ppmy.cn/server/125309.html

相关文章

物流的总结

pc端(商家端到仓、冷链,管理端冷链数据)、H5、小程序(冷链) 冷链快运系统介绍文档 替代思路:虚拟列表 介绍:只渲染用户当前可视区域内的列表来提高页面的加载速度和滚动性能,因为后端一次返回的的数据太多…

【ARM 嵌入式 编译系列 10.6 -- ARM toolchain examples】

文章目录 ARM 工具链示例1. arm-none-eabi2. arm-none-linux-gnueabi3. arm-elf-eabi4. arm-elfARM 工具链示例 1. arm-none-eabi 这个工具链的名称可以拆解如下: arm:目标架构是 ARM。none:没有特定的供应商。eabi:遵循 ARM 嵌入式应用二进制接口(EABI)。特点: 目标系…

数据结构 - 查找算法

一.查找的概念 二.顺序表查找 特点: 1.记录的数据可以是无序的 2.当数据量较大时,查找效率低,需要依次遍历 /*** description: 顺序表查找算法,从后往前查找* param - a : 要操作的数组的指针* param - k…

Linux-L11-查看本机ip地址

linux查看ip地址 查看自己的IP地址使用 ip 命令:使用 ifconfig 命令使用 hostname 命令:使用 nmcli 命令 查看某个特定接口的IP查看公网IP地址 在Linux系统中,查看自己的IP地址可以通过多种方式实现,这里提供几种常用的方法&#…

2024全网最为详细的红帽系列【RHCSA-(8)】初级及进阶Linux保姆级别骚操作教程;学不费来砍我[就怕你日后学成黑客了]

欢迎各位彦祖与热巴畅游本人专栏与博客 你的三连是我最大的动力 以下图片仅代表专栏特色 专栏跑道一 ➡️ MYSQL REDIS Advance operation 专栏跑道二➡️ 24 Network Security -LJS ​ ​ ​ 专栏跑道三 ➡️HCIP;H3C-SE;CCIP——LJS[华为、华三、思科高级网络]…

keepalived+lvs集群

目录 一、环境 二、配置 1、master 1.在master上安装配置Keepalived 2.在master上修改配置文件 2、backup 1.在backup(192.168.229.12)上安装keepalived 2.在backup上修改配置文件 3、master和backup上启动服务 4、web服务器配置 1.web1和web…

生产环境升级mysql流程及配置主从服务

之前写到过mysql升级8.4的文章, 因此不再介绍mysql的安装过程 避免服务器安装多个mysql引起冲突的安装方法_安装两个mysql会冲突吗-CSDN博客 生产环境升级mysql8.4.x流程 安装mysql 参考之前文章: 避免服务器安装多个mysql引起冲突的安装方法_安装两个mysql会冲突吗-CSDN博客…

手搓游戏 —— 生成式 AI 助手 Amazon Q Developer 初体验

文章目录 一、Amazon Q介绍二、实验环境准备2.1 下载项目安装包2.2 验证 Python 环境2.3 安装Amazon Q扩展2.4 授权Builder ID 三、Amazon Q 快速理解main.py四、Amazon Q快速梳理控制器逻辑五、启动像素沙盒开放世界程序六、在 update() 中实现传送功能七、定位并修复代码漏洞…