HuggingFists系统提供的可视化流程定义功能与传统的ETL或数据挖掘工具类似。使用者可以通过拖拽,可视化的定义出数据处理的管道(Pipe)或数据分析的图(Graph)。传统上,使用者只是将这种可视化流程定义方式视为一种配置功能而未将其理解为一种编程行为。主要是由于很少有工具能同时支持数据不同处理阶段流程的构建,比如ETL和数据分析两个阶段,这两类工作往往由不同的工具实现。但HuggingFists的理念是能够支持数据采集、处理、分析及共享多个阶段。因此,需要拥有更强大的数据流程定义能力,能够满足不同阶段的数据处理要求。
为此HuggingFists定义了一套可视化编程语言--VO(Visual Operator),该语言可视为一个面向数据科学处理与计算的领域描述语言(DSL)。之所以将其称为语言,是因为其拥有很多其他通用开发语言的特征,比如:支持常量、变量、函数、异常等;也有VO语言特有的语法概念,比如:算子、子流程、参数变量、水位线等。通常情况下,使用者不需要有编程经验,也无需了解太多VO语言的语法概念,只要简单通过界面拖拽算子,设置参数就可以完成一个数据处理流程的编写。操作体验上更接近RPA与传统数据科学工具的感受。只有当需要处理与分析的数据流程比较复杂时,才会用到一些语言级别的概念。学习这些概念虽然会带来一些学习成本,一旦掌握,可以轻松解决复杂数据场景的问题,并获得高效的并行运行体验。VO语言详细介绍参见下一章。
除了VO语言外,HuggingFists还支持SQL、Python、Javascript等语言,使用者可以在适当的时候运用这些语言来增强数据处理的能力。
目前除了图数据库之外,HuggingFists对集成的所有数据库类型的数据源都支持使用SQL方言进行访问。之所以称之为方言是因为,其语法并非标准SQL语法,而是