Algo

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

Algo

# 1 简介 Algo提供SQL计算功能的计算框架,支持常用的SQL算法,遵循SQL-92标准。 ## 1.1 Algo对象 | 接口/对象类 | 用途 | 说明 | | - | - | - | | kd.bos.algo.Algo | 创建DataSet getCacheDataSet(String cacheId) | 这个类是入口,给平台使用的,业务不要使用 | | kd.bos.algo.DataSet | DataSet操作接口,包括转换,action,close等 || | Kd.bos.algo.RowMeta | DataSet的元数据,类似jdbc ResultSetMetaData由字段Field[]组成 || | Kd.bos.algo.Field | 字段 | | | Kd.bos.algo.DataType | 数据类型,包括主要数据类型| | | Kd.bos.algo.Input | 数据源接口| | | Kd.bos.algo.Row | 行接口,行值访问器 | Row是一个虚接口,访问器,不是Object[],所以业务代码不能把Row缓存起来| | CachedDataSet | DataSet.cache的结果对象 | 不是DataSet的子类| | CacheHint | Cache hint,指示 | | | JoinDataSet | DataSet.join的结果对象,也是Join构造器 | 不是DataSet的子类 | | HashJoinDataSet | DataSet.hahJoin的结果对象,也是HashJoin构造器 | 不是DataSet的子类 | | GroupbyDataSet | DataSet.groupBy的结果对象,也是groupBy构造器 | 不是DataSet的子类 | | HashTable | DataSet.toHashTable的结果对象,是hashJoin的参数 | | | JoinType | Join类型枚举| | | JoinHint | Join hint,指示| | | RowMetaFactory | 创建RowMeta | 给平台用的 | ## 1.2 RowMeta、Field和DataType RowMeta、Field和DataType对应数据库中的行数据、字段和数据类型。 + 获取RowMeta ```java RowMeta rowMeta = dataSet.getRowMeta(); ``` + 获取Field ```java Field field = rowMeta.getField(index); ``` + 获取DataType ```java DataType type = field.getDataType(); ``` ## 1.3 数据类型 | 类型 | 说明 | | - | - | | BooleanType | | | StringType | | | IntegerType | | | LongType | | | DoubleType | 从元数据ORM框架查出来的数据不会有Double | | BigDecimalType | | | DateType | | | TimestampType | | | NullType | Select中动态创建null Field生成 | | UnknownType | 表达式解析后无法确定的列,业务不会用到 | ## 1.4 DataSet + DataSet是指kd.bos.algo.DataSet,无特殊说明情况下,后文中的DataSet都是指kd.bos.algo.DataSet,DataSet是结果集,与JDBC 中的ResultSet类似。 + DataSet即是结果集转换器,也是迭代计算。 + DataSet不局限于数据库中的数据,文件流,集合类型的数据也可以转换为DataSet。 + 获取的DataSet也可以缓存。 ![dataset.webp](/download/0100a4a6b07ffb9242f68948ff9862a4edd4.webp) + kd.bos.algo.DataSet是两类接口,Transform和Action,相关概念与Apache Flink是对等的。 1. Transform:转换DataSet,生成新的DataSet;包括主要sql操作,如orderby,select,where,filter,group by,range,top,union等等。 ![transform.webp](/download/0100e3e06df25fb74359817511072c81aa17.webp) 2. Action:Action是消费DataSet,Action执行结果不是DataSet;Action执行后,DataSet自动关闭;Action接口不多,比如count,cache等。 ![action.webp](/download/0100f44c57408c5d4fa5b4ddd5a9f1acb047.webp) # 2 应用场景 Algo通过宿主机内存计算代替数据库计算,减轻数据库压力,解决数据库性能瓶颈,适用于大数据量且需要进行多次计算的场景。 + 数据库分库后,替代SQL功能 + 替代复杂SQL + 替代临时表 + 作为报表开发框架

AlgoDataSet开发指南V1.6(202010).pptx

Algo

# 1 简介Algo提供SQL计算功能的计算框架,支持常用的SQL算法,遵循SQL-92标准。## 1.1 Algo对象| 接口/对象类 | 用途 | 说明 ||...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息