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

3.3.4 VO-O语法- 算子分类(一)

VO语言目前拥有400+个算子,并且仍在不断的开发扩展中。算子的功能丰富,多样,很难用某个维度简单、易用的对算子进行分类。以下是VO语言按照内置的算子开发维度给出的算子分类。

输入算子

输入算子用于接入和生成各类数据,一般是一个数据流程的起点。支持接入各类文件系统、数据库、事件流(消息队列)、应用系统等不同数据源。这些数据源可以通过HuggingFists系统的数据源管理模块进行接入管理。

为了减少开发者的学习成本,所有同类型输入算子的配置方式都进行了最大的化的统一设计。如:所有文件系统输入算子都支持选择多个待处理文件,选择多个文件夹等;所有数据库输入算子都最大程度的支持编写SQL语句进行数据访问等。由于很多非关系数据库并不支持SQL语句访问,比如MongoDB、Elasticsearch、Milvus等,开发团队专门维护了一个开源项目moql-transx,用于提供各类数据库的SQL访问接口。很多时候,这些SQL语句并不总是能很好的映射这些非关系型数据库的语法能力,但对于有特殊DSL访问语法的数据库来说,可以减少一部分开发者的学习成本;对于只提供了SDK访问接口能力的数据库来说,有了一种通用交互的解决方案。这里需要额外提一下,图数据库的所有输入算子目前是不支持SQL访问接口的,因为用SQL来映射图数据库的访问语义效率实在是太低了。在等待国际统一标准的GQL无果后,目前系统计划支持Cypher作为图数据库类的统一访问接口。

下面列出VO语言支持的部分输入算子,详细内容参见《5资源手册/2算子》:

文件系统输入:Alluxio、Azure对象存储、百度网盘、Ceph、腾讯云COS、FastDFS、Ftp、谷歌GCS、GridFs、HDFS、Mino、阿里云OSS、Amazon S3等

数据库输入:ClickHouse、DB2、达梦8、Doris、Elaticsearch[7|8]、Hive、MDB、Milvus、MongoDB、MySQL、Nebula、Neo4j、Oracle、Postgresql、Presto、SnowFlake、SQLServer、StarRocks、Sybase、腾讯向量库、TiDB、Trino等

事件流输入:Kafka

输出算子

输出算子用于将数据写出到各类存储系统中,一般是一个数据流程的终点。它与输入算子总是配套出现,除应用系统没有对应的输出算子外,文件系统、数据库以及事件流输入算子都有对应的输出算子。其中比较特别的是文件系统输入算子,它一般会对应2种输出算子。一个是单文件输出算子;一个是多文件输出算子。算子输入端口可接入的数据集结构不同,单文件输出算子支持对一个文件进行追加写出;多文件输出算子则支持一次性向一个文件系统写出多个文件。分别用于不同类型的输出场景。

下面列出VO语言支持的部分输出算子,详细内容参见《5资源手册/2算子》:

文件系统[单/批量]输出:Alluxio、Azure对象存储、百度网盘、Ceph、腾讯云COS、FastDFS、Ftp、谷歌GCS、GridFs、HDFS、Mino、阿里云OSS、Amazon S3等

数据库输出:ClickHouse、DB2、达梦8、Doris、Elaticsearch[7|8]、Hive、MDB、Milvus、MongoDB、MySQL、Nebula、Neo4j、Oracle、Postgresql、Presto、SnowFlake、SQLServer、StarRocks、Sybase、腾讯向量库、TiDB、Trino等

事件流输出:Kafka

http://www.dtcms.com/a/17114.html

相关文章:

  • Netty的基本架构详解
  • Next.js 15【实用教程】2025最新版
  • BGP配置华为——路由汇总
  • 计算机网络原理习题一
  • 《网络编程卷2:进程间通信》第七章:同步机制深度解析与多场景实践
  • #渗透测试#批量漏洞挖掘#AJ-Report开源数据大屏存在远程命令执行漏洞
  • 数据结构中的邻接矩阵
  • Wireshark TS | 再谈虚假的 TCP Spurious Retransmission
  • QT笔记——QRadioButton
  • VRPTW 问题与新兴技术结合的创新方向及具体案例
  • 借3D视觉定位东风,汽车零部件生产线实现无人化的精准飞跃
  • Ubuntu设置docker代理报网络错误
  • 【Python】条件循环
  • tcp/ip网络模型
  • C# Dictionary的实现原理
  • 傅里叶变换推导
  • 清理docker/podman的存储空间
  • Effective Objective-C 2.0 读书笔记——内存管理(上)
  • 在vuejs项目中使用momentjs获取今日、昨日、本周、下周、本月、上月、本季度、上季度、本年、去年等日期
  • ADC 的音频实验,无线收发模块( nRF24L01)
  • 【Python深入浅出㊸】解锁Python3中的TensorFlow:开启深度学习之旅
  • Java进阶:Docker
  • python 爬虫教程 0 基础入门 一份较为全面的爬虫python学习方向
  • 题解:P11725 [JOIG 2025] 修学旅行 / School Trip
  • 【2025新】基于springboot的问卷调查小程序设计与实现
  • 物流数字化转型:报关单ocr api应用场景、报关单识别接口
  • 算法07-滑动窗⼝算法
  • GitHub推荐C++项目:基于muduo、protobuf、zookeeper实现RPC框架
  • HTML之JavaScript使用JSON
  • 尚硅谷爬虫note006