1.30.23

版本下载

版本号: 1.30.23     二级兼容 1.30.22

发行日期: 2024-01-03

新功能

  • 支持 AWS S3 的相关配置参数 s3Endpoint,用于访问 S3。(1.30.23.2

  • 新增函数 regexFindStr,支持查找给定字符串中满足正则表达式的子串。(1.30.23.1

  • 支持开窗函数又叫做分析函数,允许用户在数据集中定义一个窗口,在窗口内对数据进行聚合、排序、分析等操作,而不是对整个数据集进行操作。支持以下函数:sum, avg, std, stdp, var, varp, count, min, max, skew, kurtosis, med, rank, dense_rank, percent_rank, row_number, cume_dist, lead, lag, ntile, first_value, last_value, nth_value
  • 新增配置项 jobParallelismHardLimit defaultJobParallelism,分别用于限制一个作业可以使用的最大工作线程数和配置用户提交作业的默认并行度。

  • 新增配置项 datanodeRestartLevel,可以指定触发控制节点自动重启数据节点/计算节点的条件。

  • 新增函数 setDatanodeRestartIntervalgetDatanodeRestartInterval ,分别用于动态设置控制节点自动重启计算节点/数据节点的功能和获取内存中 DatanodeRestartInterval 的值。

  • 新增配置项 thirdPartyCreateUserCallbackthirdPartyDeleteUserCallback,用于配置一个函数视图,进而配合 createUserdeleteUser 函数实现在创建或删除用户时进行回调。
  • 新增函数 RidgeCV, ElasticNetCVLassoCV,实现对应机器学习模型的交叉验证。

  • 新增函数 iminLast/imaxLast/miminLast/mimaxLast/rowIminLast/rowImaxLast,当有多个最值时,返回最大的 index。

  • 新增函数 signbit,获取 ±0.0 的符号信息以区分 ±0.0。

  • 新增函数 submitJobEx2,其扩展了 submitJobEx 函数的功能,支持传入回调函数。

  • 新增函数 kendall,可计算 kendall 相关系数。

  • 新增函数 clip clip!,用来截断范围外的数据。其功能与 numpy.clip 类似。

  • 新增函数 tableUpsert,其功能与 upsert! 一致,但是会返回修改的行数。

  • 新增函数 snippet,以字符串标量形式返回打印结果。

  • 新增函数 socp 用于求解二阶锥规划问题,计算目标函数在限定条件下的最小值。

  • 新增函数 existsStreamTable,用于判断流表是否存在。

  • 新增函数 getStreamTables,用于获取流表的信息。

功能改进

  • createCrossSectionalEngine 函数若指定参数 triggeringPattern 为 dataInterval,将仅对有新数据输入的时间段进行计算并输出横截面信息。(1.30.23.3

  • replayDS 函数的输入表支持 DECIMAL 类型数据。(1.30.23.2

  • 脚本支持在 member(.) 运算符之前换行。1.30.23.1

  • 为函数视图增加命名空间以防止名称冲突。对函数视图的任何操作都会同步持久化到集群中的所有节点。

  • 为 job 增加权限管理的功能,仅具备相应权限的用户可以取消 job。

  • schema 函数增加以下输出信息:每一列的压缩算法、数据库创建者、数据表创建者。

  • loadPlugin 的参数 filePath 支持指定为插件名。

  • backup 的参数 backupDir 支持设置为 S3 路径。

  • transFreq, asFreq, resample 函数改进:
    • 参数 rule 设置为交易日历时,支持搭配数字。例如:“2XSHG”,表示上海证券交易所每两个交易日;
    • rule 的精度为天以上时,参数 label, closed 支持默认值以外的值。
  • moving 函数支持输入参数为矩阵。

  • 支持通过 updateLicense 在线更新试用 license。

  • 优化了最优解函数 scsquadprog 的性能。

  • unionAll 函数输入为元组时,第一个元素支持空值。

  • 支持定期自动回收维度表所占内存。

  • 针对采用值分区,且以类型为 STRING 或 SYMBOL 的列作为分区列的分布式数据表,支持分区列包含中文字符。同时新增配置项 ignoreSpecialCharacterInPartitionId 用于指定在创建分区路径时是否忽略字符串中的 ':' 和 '.'。

  • 优化了 createAsofJoinEngine 函数的计算性能。

  • 倍速回放支持完全按照数据到来时间的倍速进行回放。

  • LookupJoinEngine 和 AsofJoinEngine 新增参数 outputElapsedMicroseconds 支持输出计算耗时。

  • AsofJoinEngine、SessionWindowEngine 和 LeftSemiJoinEngine 支持 array vector 输入。

  • TimeSeriesEngine 设置 updateTime = 0 时,每批输入数据都会触发窗口计算输出。

  • 响应式状态引擎新增参数 keyCapacityparallelism,优化了其在分组很多时的计算性能。

  • 响应式状态引擎的 metrics 中的状态函数支持 for 语句。

  • LookupJoin 引擎新增参数 keepDuplicates,用于左表指定是否与右表多条匹配的记录进行连接。

  • 时序引擎新增参数 subWindow, 支持计算一个 window 内某一段时间内的数据。

  • getStreamingStat 函数支持显示所有订阅的信息。

  • 响应式状态引擎(ReactiveStateEngine)支持 tmsum2 和 cumTopN 系列函数。

  • createStreamDispatchEnginedispatchType 参数新增选项:"saltedHash",可以进行加盐处理,防止多层分发的时候因为同余关系导致部分输出表没有数据。

  • updatedelete 语句的操作将会记录到 jobLog 中。

  • 在分布式表的查询的过滤条件中,支持 DATE 类型与更高精度的时间类型进行比较。

  • 限制写入分布式数据库的 STRING, BLOB 和 SYMBOL 类型的数据大小为64K、64M 和256字节。

  • 增加2024年的交易日历。

缺陷修复

  • 具有函数模式的二元运算符出现解析错误,例如:e.g +:A(1, 2 3 4)。(1.30.23.3

  • server 误将自定义函数返回的 CODE 类型识别为 STRING 类型。(1.30.23.3

  • 当函数视图包含使用 update 更新共享表的操作时,会导致反序列化失败,进而导致 server 无法启动。1.30.23.1

  • 多个事务导致内存频繁 OOM 后回滚,偶尔出现元数据不正确。1.30.23.1

  • each 的输入是元代码生成函数(如 makeCallbinaryExpr 等)的部分应用时,结果不正确。1.30.23.1

  • upsert! 指定 obj 为键值内存表,且键值列类型为 STRING ,newData 对应的列类型为 SYMBOL 且包含了新的键值,同时指定 ignoreNull=true 时,会导致 server 崩溃。1.30.23.1

  • add 函数输入是 BLOB 类型的向量时,结果不正确。1.30.23.1

  • 通过 update 更新分布式表,且对跨分区数据使用聚合函数、序列函数、自定义函数时,更新结果不正确。1.30.23.1

  • SQL 查询的 where 条件的结果为 NULL 时,查询结果不为空。1.30.23.1

  • where 中使用 AND 连接使用了聚合函数的条件时,和 order by 搭配使用,查询结果不正确。

    1.30.23.1
  • SQL 查询 order by 中使用变量名时会报错。此为 1.30.22 版本引入的问题。1.30.23.1

  • SQL 查询中,使用 case when 对空表进行判断时,出现 server 崩溃。1.30.23.1

  • createReactiveStateEngine 设置 parallelism 参数,且 metrics 中含有常量表达式时,会报错。

    1.30.23.1
  • 函数视图嵌套使用时,出现无访问权限的报错。

  • 空维度表从备份中恢复后,重启后再次读取该表会报错“No such file or directory”。

  • 通过 rename! 重命名表字段时,偶尔出现报错。

  • 控制节点配置 dataSync=1,计算节点若不配置 chunkCacheEngineMemSize 则启动失败。

  • 分布式表写入大小超过64K的字符串后,server 重启时因回放出现问题而无法启动。

  • nunique 计算多字段的唯一值时概率性出现结果错误。

  • 高阶函数模式符号 :R 没有对参数数量进行校验,在输入错误数量的参数时,server 崩溃。

  • 使用 loadText 导入不合法编码的 csv 文件时不报错,但查询时出现报错。

  • byRow 输入矩阵且对矩阵应用 string 函数时,结果不正确。

  • align 函数指定标签为非递增且包含重复值的序列时,结果不正确。

  • peach 并行计算忽略了对空值处理,概率性出现计算结果与串行计算结果不一致的情况。

  • 调用 resample 函数会导致内存泄露。

  • corrMatrix 会修改传入参数的值。

  • fromJson 存在以下问题:
    • JSON 字符串中字典的 value 是空元组时,会导致 server 崩溃

    • JSON 字符串中字典的 value 是元组嵌套元组时,结果不正确。

  • unionAll 同时指定了partitionbyColName 时,有时会报行数不匹配的错误。

  • streamEngineParser 中使用 row 系列函数的指标中若调用了返回多个值的函数,则会因指标解析错误而导致引擎创建失败。

  • 同一个流表被不同消费速度的订阅者订阅时,出现消费慢的订阅者无法读取数据。

  • 向 Lookup Join 引擎的左表注入空表时,server 崩溃。

  • 当两个节点同时调用 unsubscribeTable 取消到另一个节点上的远程订阅时,会导致死锁。

  • createTimeSeriesEngine 指定 timeColumn 为多列,且对其中某列进行计算时,计算结果不正确。

  • select 子句中使用序列相关函数,同时搭配 context bycsort 进行查询时,没有进行组内排序后再计算。

  • select 子句搭配 group by 使用,且 select 中的聚合函数参数为一个向量的切片时,会出现报错。

  • SQL where 子句中使用了与函数视图同名的变量名,且使用了 and 运算符时,会错误地将变量名解析为函数名。

  • drop table 语句后面的变量不存在时,会导致 server 崩溃。

  • select 子句中使用 zigzag 函数,和 context by 搭配使用时,结果不正确。

  • 使用 windows 版本 server,查询语句中对很长的字符串应用 group by 时,导致 server 崩溃。

  • sqlDS 生成的连接两个分布式表的数据源时,数据源中会缺失右表分区信息。