dolphindb 2.0.927 → 2.0.928
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs.en.json +55 -20
- package/docs.zh.json +1057 -1004
- package/package.json +1 -1
package/docs.zh.json
CHANGED
|
@@ -1173,7 +1173,7 @@
|
|
|
1173
1173
|
{
|
|
1174
1174
|
"type": "text",
|
|
1175
1175
|
"value": [
|
|
1176
|
-
"
|
|
1176
|
+
"把一个用户添加到群组。它可能会改变该用户的权限。该函数只能由管理员在控制节点/数据节点上执行。"
|
|
1177
1177
|
]
|
|
1178
1178
|
}
|
|
1179
1179
|
]
|
|
@@ -2859,8 +2859,8 @@
|
|
|
2859
2859
|
}
|
|
2860
2860
|
]
|
|
2861
2861
|
},
|
|
2862
|
-
"
|
|
2863
|
-
"title": "
|
|
2862
|
+
"asFreq": {
|
|
2863
|
+
"title": "asFreq",
|
|
2864
2864
|
"type": "function",
|
|
2865
2865
|
"children": [
|
|
2866
2866
|
{
|
|
@@ -2870,7 +2870,9 @@
|
|
|
2870
2870
|
{
|
|
2871
2871
|
"type": "text",
|
|
2872
2872
|
"value": [
|
|
2873
|
-
"
|
|
2873
|
+
"asFreq(X, rule, [closed], [label], [origin='start_day'])",
|
|
2874
|
+
"",
|
|
2875
|
+
"别名:asfreq"
|
|
2874
2876
|
]
|
|
2875
2877
|
}
|
|
2876
2878
|
]
|
|
@@ -2918,7 +2920,10 @@
|
|
|
2918
2920
|
"\"N\" nanosecond",
|
|
2919
2921
|
"============ =================",
|
|
2920
2922
|
"",
|
|
2921
|
-
"
|
|
2923
|
+
".. versionadded:: 2.00.9 ",
|
|
2924
|
+
" 用户自定义交易日历",
|
|
2925
|
+
"",
|
|
2926
|
+
"`rule` 上述字符串亦可配合使用数字,例如 \"2M\" 表示频率为每两个月月末。此外,*rule* 也可指定为用户自定义交易日历的标识(配置参数 *marketHolidayDir* 指定目录下的文件名,系统将根据该交易日历进行计算)。",
|
|
2922
2927
|
"",
|
|
2923
2928
|
".. versionadded:: 2.00.6",
|
|
2924
2929
|
" 参数 *closed*, *label*, *origin*",
|
|
@@ -2996,7 +3001,7 @@
|
|
|
2996
3001
|
"language": "console",
|
|
2997
3002
|
"value": [
|
|
2998
3003
|
" ",
|
|
2999
|
-
" $ s.
|
|
3004
|
+
" $ s.asFreq(\"M\")",
|
|
3000
3005
|
""
|
|
3001
3006
|
]
|
|
3002
3007
|
},
|
|
@@ -3023,7 +3028,7 @@
|
|
|
3023
3028
|
"language": "console",
|
|
3024
3029
|
"value": [
|
|
3025
3030
|
"",
|
|
3026
|
-
" $ s.
|
|
3031
|
+
" $ s.asFreq(\"2M\")",
|
|
3027
3032
|
""
|
|
3028
3033
|
]
|
|
3029
3034
|
},
|
|
@@ -3070,7 +3075,7 @@
|
|
|
3070
3075
|
"language": "console",
|
|
3071
3076
|
"value": [
|
|
3072
3077
|
"",
|
|
3073
|
-
" $ s.
|
|
3078
|
+
" $ s.asFreq(\"D\")",
|
|
3074
3079
|
""
|
|
3075
3080
|
]
|
|
3076
3081
|
},
|
|
@@ -3095,7 +3100,7 @@
|
|
|
3095
3100
|
"language": "console",
|
|
3096
3101
|
"value": [
|
|
3097
3102
|
"",
|
|
3098
|
-
" $ s.
|
|
3103
|
+
" $ s.asFreq(\"2D\")",
|
|
3099
3104
|
""
|
|
3100
3105
|
]
|
|
3101
3106
|
},
|
|
@@ -3119,7 +3124,7 @@
|
|
|
3119
3124
|
"",
|
|
3120
3125
|
" $ index = temporalAdd(2022.10.01 23:30:00,7*(0..8),`m)",
|
|
3121
3126
|
" $ s = indexedSeries(index, 3*(0..8))",
|
|
3122
|
-
" $ s.
|
|
3127
|
+
" $ s.asFreq(\"8min\")",
|
|
3123
3128
|
""
|
|
3124
3129
|
]
|
|
3125
3130
|
},
|
|
@@ -3146,7 +3151,7 @@
|
|
|
3146
3151
|
"language": "console",
|
|
3147
3152
|
"value": [
|
|
3148
3153
|
"",
|
|
3149
|
-
" $ s.
|
|
3154
|
+
" $ s.asFreq(rule=`8min,closed=`right)",
|
|
3150
3155
|
""
|
|
3151
3156
|
]
|
|
3152
3157
|
},
|
|
@@ -3173,7 +3178,7 @@
|
|
|
3173
3178
|
"language": "console",
|
|
3174
3179
|
"value": [
|
|
3175
3180
|
"",
|
|
3176
|
-
" $ s.
|
|
3181
|
+
" $ s.asFreq(rule=`8min,closed=`right,origin=`end)",
|
|
3177
3182
|
""
|
|
3178
3183
|
]
|
|
3179
3184
|
},
|
|
@@ -3481,7 +3486,7 @@
|
|
|
3481
3486
|
"value": [
|
|
3482
3487
|
"如果只指定了一个参数,`X` 是布尔表达式或向量。",
|
|
3483
3488
|
"",
|
|
3484
|
-
"如果指定了两个参数,`X`
|
|
3489
|
+
"如果指定了两个参数,`X` 可以是一个标量、向量(常规向量/元组/数组向量)、矩阵、表、字典、数据对、函数。`index` 可以是一个布尔表达式/布尔值、标量、向量(常规向量/元组/数组向量)、数据对."
|
|
3485
3490
|
]
|
|
3486
3491
|
}
|
|
3487
3492
|
]
|
|
@@ -3503,7 +3508,9 @@
|
|
|
3503
3508
|
"* 如果 *index* 是数据对,如 a:b, 则表示索引范围为 [a,b),寻找 *X* 中该范围的值并返回。",
|
|
3504
3509
|
"* 如果 *index* 是数组向量,则 *X* 只能为向量,对于 *index* 中的每行元素都作为一个索引值,寻找 *X* 中对应该索引位置的元素,然后返回一个和 *index* 结构相同的数组向量。",
|
|
3505
3510
|
"",
|
|
3506
|
-
"请注意,index 作为索引值或索引范围时,若其值不在 [0, size(X)-1] 内,则超出 [0, size(X)-1] 的值所对应的位置返回空值。"
|
|
3511
|
+
"请注意,index 作为索引值或索引范围时,若其值不在 [0, size(X)-1] 内,则超出 [0, size(X)-1] 的值所对应的位置返回空值。",
|
|
3512
|
+
"",
|
|
3513
|
+
"若 X 是函数,则 index 将作为函数的参数。"
|
|
3507
3514
|
]
|
|
3508
3515
|
}
|
|
3509
3516
|
]
|
|
@@ -4603,7 +4610,7 @@
|
|
|
4603
4610
|
"",
|
|
4604
4611
|
"`interval` 是一个大于0的整型/DURATION 类型的标量或和 *X* 长度相同的向量。",
|
|
4605
4612
|
"",
|
|
4606
|
-
"*interval* 是 DURATION
|
|
4613
|
+
"*interval* 是 DURATION 类型时,支持以下时间单位(区分大小写):w, d, H, m, s, ms, us, ns。",
|
|
4607
4614
|
"",
|
|
4608
4615
|
"注:由于 *interval* 不支持年(y)和月(M)的时间单位,如果需要对 *X* 以年或月进行分组时,可以调用 :doc:`../y/year` 或 :doc:`../m/month` 对 *X* 进行转换后,指定 *interval* 为整数进行计算。可以参考 Example 2。",
|
|
4609
4616
|
"",
|
|
@@ -8822,7 +8829,7 @@
|
|
|
8822
8829
|
{
|
|
8823
8830
|
"type": "text",
|
|
8824
8831
|
"value": [
|
|
8825
|
-
"
|
|
8832
|
+
"修改用户密码。该命令只能由管理员在控制节点/数据节点上执行。"
|
|
8826
8833
|
]
|
|
8827
8834
|
}
|
|
8828
8835
|
]
|
|
@@ -10049,7 +10056,7 @@
|
|
|
10049
10056
|
{
|
|
10050
10057
|
"type": "text",
|
|
10051
10058
|
"value": [
|
|
10052
|
-
"`sessionId` 是一个LONG类型的标量或向量,表示一个或多个session ID。"
|
|
10059
|
+
"`sessionId` 是一个 LONG 类型的标量或向量,表示一个或多个 session ID。"
|
|
10053
10060
|
]
|
|
10054
10061
|
}
|
|
10055
10062
|
]
|
|
@@ -10076,18 +10083,41 @@
|
|
|
10076
10083
|
"value": [
|
|
10077
10084
|
"",
|
|
10078
10085
|
" $ getSessionMemoryStat();",
|
|
10086
|
+
"",
|
|
10079
10087
|
""
|
|
10080
10088
|
]
|
|
10081
10089
|
},
|
|
10082
10090
|
{
|
|
10083
10091
|
"type": "text",
|
|
10084
10092
|
"value": [
|
|
10085
|
-
"
|
|
10086
|
-
"userId
|
|
10087
|
-
"
|
|
10088
|
-
"
|
|
10089
|
-
"
|
|
10090
|
-
"
|
|
10093
|
+
"+-------------------------+---------------+--------------+----------+-------------------------+-------------------------+",
|
|
10094
|
+
"| userId | sessionId | memSize | remoteIP | remotePort createTime | lastActiveTime |",
|
|
10095
|
+
"+=========================+===============+==============+==========+=========================+=========================+",
|
|
10096
|
+
"| __DimensionalTable__ | 0 | 0.0.0.0 | | | |",
|
|
10097
|
+
"+-------------------------+---------------+--------------+----------+-------------------------+-------------------------+",
|
|
10098
|
+
"| __SharedTable__ | 0 | 0.0.0.0 | | | |",
|
|
10099
|
+
"+-------------------------+---------------+--------------+----------+-------------------------+-------------------------+",
|
|
10100
|
+
"| __OLAPTablet__ | 0 | 0.0.0.0 | | | |",
|
|
10101
|
+
"+-------------------------+---------------+--------------+----------+-------------------------+-------------------------+",
|
|
10102
|
+
"| __OLAPCacheEngine__ | 0 | 0.0.0.0 | | | |",
|
|
10103
|
+
"+-------------------------+---------------+--------------+----------+-------------------------+-------------------------+",
|
|
10104
|
+
"| __OLAPCachedSymbolBa... | 0 | 0.0.0.0 | | | |",
|
|
10105
|
+
"+-------------------------+---------------+--------------+----------+-------------------------+-------------------------+",
|
|
10106
|
+
"| __DFSMetadata__ | 2769 | 0.0.0.0 | | | |",
|
|
10107
|
+
"+-------------------------+---------------+--------------+----------+-------------------------+-------------------------+",
|
|
10108
|
+
"| __TSDBCacheEngine__ | 0 | 0.0.0.0 | | | |",
|
|
10109
|
+
"+-------------------------+---------------+--------------+----------+-------------------------+-------------------------+",
|
|
10110
|
+
"| __TSDBLevelFileIndex__ | 0 | 0.0.0.0 | | | |",
|
|
10111
|
+
"+-------------------------+---------------+--------------+----------+-------------------------+-------------------------+",
|
|
10112
|
+
"| __TSDBCachedSymbolBa... | 0 | 0.0.0.0 | | | |",
|
|
10113
|
+
"+-------------------------+---------------+--------------+----------+-------------------------+-------------------------+",
|
|
10114
|
+
"| __StreamingPubQueue__ | 0 | 0.0.0.0 | | | |",
|
|
10115
|
+
"+-------------------------+---------------+--------------+----------+-------------------------+-------------------------+",
|
|
10116
|
+
"| __StreamingSubQueue__ | 0 | 0.0.0.0 | | | |",
|
|
10117
|
+
"+-------------------------+---------------+--------------+----------+-------------------------+-------------------------+",
|
|
10118
|
+
"| admin | 1823289176 32 | 60.176.105.0 | 20882 | 2023.02.15T02:36:14.906 | 2023.02.15T02:36:22.314 |",
|
|
10119
|
+
"+-------------------------+---------------+--------------+----------+-------------------------+-------------------------+",
|
|
10120
|
+
"",
|
|
10091
10121
|
""
|
|
10092
10122
|
]
|
|
10093
10123
|
},
|
|
@@ -10096,7 +10126,7 @@
|
|
|
10096
10126
|
"language": "console",
|
|
10097
10127
|
"value": [
|
|
10098
10128
|
"",
|
|
10099
|
-
" $ closeSessions(getSessionMemoryStat().sessionId[
|
|
10129
|
+
" $ closeSessions(getSessionMemoryStat().sessionId[11]);",
|
|
10100
10130
|
""
|
|
10101
10131
|
]
|
|
10102
10132
|
},
|
|
@@ -14195,7 +14225,7 @@
|
|
|
14195
14225
|
{
|
|
14196
14226
|
"type": "text",
|
|
14197
14227
|
"value": [
|
|
14198
|
-
"
|
|
14228
|
+
"创建组。该命令只能由管理员在控制节点/数据节点上执行。",
|
|
14199
14229
|
"",
|
|
14200
14230
|
"组中的用户必须是已经创建了的用户。"
|
|
14201
14231
|
]
|
|
@@ -14797,17 +14827,24 @@
|
|
|
14797
14827
|
"",
|
|
14798
14828
|
"`compressMethods` 一个字典,指定某些列使用 lz4 或者 delta 压缩算法存储。key 为字段名,value 为压缩算法(\"lz4\"或\"delta\")。若未指定,默认采用 lz4 压缩算法。",
|
|
14799
14829
|
"",
|
|
14830
|
+
".. versionadded:: 2.00.9",
|
|
14831
|
+
" 支持 DECIMAL 类型数据进行 delta 压缩",
|
|
14832
|
+
"",
|
|
14800
14833
|
"* 对于SHORT, INT, LONG 与时间或日期类型数据,建议采用 delta 算法压缩。",
|
|
14801
14834
|
"* 将字符串存储为 SYMBOL 类型数据,实现对字符串类型的压缩。",
|
|
14802
14835
|
"",
|
|
14803
|
-
"`sortColumns`
|
|
14836
|
+
"`sortColumns` 字符串标量或向量,用于指定表的排序列,写入的数据将按 *sortColumns* 进行排序。系统默认 *sortColumns*(指定多列时) 最后一列为时间列,其余列字段作为排序的索引列,称作 sort key。同一个 sort key 组合值(sort key entry)对应的数据将按时间列顺序连续存放在一起。查询时,若查询条件包含索引列,可以快速定位数据所在的数据块位置,提高查询性能。",
|
|
14837
|
+
"",
|
|
14838
|
+
"- *sortColumns* 只能是 integer, temporal, string, 或 symbol 类型。",
|
|
14839
|
+
"",
|
|
14840
|
+
" - 若 *sortColumns* 指定为多列,则 *sortColumns* 的最后一列必须为时间列,其余列为索引列,且索引列不能为为 TIME, TIMESTAMP, NANOTIME, NANOTIMESTAMP 类型。",
|
|
14841
|
+
" - 若 *sortColumns* 仅指定一列,不要求必须为时间类型。若 *sortColumns* 指定为一列时间列 (非分区列),且同时指定了 *sortKeyMappingFunction*,则查询的过滤条件中 *sortColumns* 只能与相同时间类型的值进行比较。",
|
|
14804
14842
|
"",
|
|
14805
|
-
"
|
|
14806
|
-
"
|
|
14807
|
-
"
|
|
14808
|
-
"
|
|
14809
|
-
"*
|
|
14810
|
-
"* *sortColumns* 是每个分区内部 level file 内数据的排序依据,与其是否为分区字段无关。",
|
|
14843
|
+
"- 频繁查询的字段适合设置为 *sortColumns*,且建议优先把查询频率高的字段作为 *sortColumns* 中位置靠前的列。",
|
|
14844
|
+
"",
|
|
14845
|
+
"- 为保证性能最优,建议每个分区内索引列的组合数(sort key)不超过1000个。",
|
|
14846
|
+
"",
|
|
14847
|
+
"- *sortColumns* 是每个分区内部 level file 内数据的排序依据,与其是否为分区字段无关。",
|
|
14811
14848
|
"",
|
|
14812
14849
|
"`keepDuplicates` 指定在每个分区内如何处理所有 *sortColumns* 之值皆相同的数据。提供以下选项:",
|
|
14813
14850
|
"",
|
|
@@ -15131,13 +15168,13 @@
|
|
|
15131
15168
|
"下列状态函数在 DolphinDB 的响应式状态引擎中的实现均得到了优化。目前,状态引擎不允许使用未经优化的状态函数,且需避免使用聚合函数。",
|
|
15132
15169
|
"",
|
|
15133
15170
|
"* 累计窗口函数::doc:`../c/cumavg`, :doc:`../c/cumsum`, :doc:`../c/cumprod`, :doc:`../c/cumcount`, :doc:`../c/cummin`, :doc:`../c/cummax`, :doc:`../c/cumvar`, :doc:`../c/cumvarp`, :doc:`../c/cumstd`, :doc:`../c/cumstdp`, :doc:`../c/cumcorr`, :doc:`../c/cumcovar`, :doc:`../c/cumbeta`, :doc:`../c/cumwsum`, :doc:`../c/cumwavg`, :doc:`../c/cumfirstNot`, :doc:`../c/cumlastNot`, :doc:`../c/cummed`, :doc:`../c/cumpercentile`, :doc:`../c/cumnunique`, :doc:`../c/cumPositiveStreak`",
|
|
15134
|
-
"* 滑动窗口函数::doc:`../e/ema`, :doc:`../m/mavg`, :doc:`../m/msum`, :doc:`../m/mcount`, :doc:`../m/mprod`, :doc:`../m/mvar`, :doc:`../m/mvarp`, :doc:`../m/mstd`, :doc:`../m/mstdp`, :doc:`../m/mskew`, :doc:`../m/mkurtosis`, :doc:`../m/mmin`, :doc:`../m/mmax`, :doc:`../m/mimin`, :doc:`../m/mimax`, :doc:`../m/mmed`, :doc:`../m/mpercentile`, :doc:`../m/mrank`, :doc:`../m/mcorr`, :doc:`../m/mcovar`, :doc:`../m/mbeta`, :doc:`../m/mwsum`, :doc:`../m/mwavg`, :doc:`../m/mmad`, :doc:`../m/mfirst`, :doc:`../m/mlast`, :doc:`../m/mslr`, :doc:`../t/tmove`, :doc:`../t/tmfirst`, :doc:`../t/tmlast`, :doc:`../t/tmsum`, :doc:`../t/tmavg`, :doc:`../t/tmcount`, :doc:`../t/tmvar`, :doc:`../t/tmvarp`, :doc:`../t/tmstd`, :doc:`../t/tmstdp`, :doc:`../t/tmprod`, :doc:`../t/tmskew`, :doc:`../t/tmkurtosis`, :doc:`../t/tmmin`, :doc:`../t/tmmax`, :doc:`../t/tmmed`, :doc:`../t/tmpercentile`, :doc:`../t/tmrank`, :doc:`../t/tmcovar`, :doc:`../t/tmbeta`, :doc:`../t/tmcorr`, :doc:`../t/tmwavg`, :doc:`../t/tmwsum`, :doc:`/Functionalprogramming/TemplateFunctions/tmoving`, :doc:`/Functionalprogramming/TemplateFunctions/moving`, :doc:`../s/sma`, :doc:`../w/wma`, :doc:`../d/dema`, :doc:`../t/tema`, :doc:`../t/trima`, :doc:`../l/linearTimeTrend`, :doc:`/Functionalprogramming/TemplateFunctions/talib`, :doc:`../t/t3`, :doc:`../m/ma`, :doc:`../m/mmaxPositiveStreak`",
|
|
15171
|
+
"* 滑动窗口函数::doc:`../e/ema`, :doc:`../m/mavg`, :doc:`../m/msum`, :doc:`../m/mcount`, :doc:`../m/mprod`, :doc:`../m/mvar`, :doc:`../m/mvarp`, :doc:`../m/mstd`, :doc:`../m/mstdp`, :doc:`../m/mskew`, :doc:`../m/mkurtosis`, :doc:`../m/mmin`, :doc:`../m/mmax`, :doc:`../m/mimin`, :doc:`../m/mimax`, :doc:`../m/mmed`, :doc:`../m/mpercentile`, :doc:`../m/mrank`, :doc:`../m/mcorr`, :doc:`../m/mcovar`, :doc:`../m/mbeta`, :doc:`../m/mwsum`, :doc:`../m/mwavg`, :doc:`../m/mmad`, :doc:`../m/mfirst`, :doc:`../m/mlast`, :doc:`../m/mslr`, :doc:`../t/tmove`, :doc:`../t/tmfirst`, :doc:`../t/tmlast`, :doc:`../t/tmsum`, :doc:`../t/tmavg`, :doc:`../t/tmcount`, :doc:`../t/tmvar`, :doc:`../t/tmvarp`, :doc:`../t/tmstd`, :doc:`../t/tmstdp`, :doc:`../t/tmprod`, :doc:`../t/tmskew`, :doc:`../t/tmkurtosis`, :doc:`../t/tmmin`, :doc:`../t/tmmax`, :doc:`../t/tmmed`, :doc:`../t/tmpercentile`, :doc:`../t/tmrank`, :doc:`../t/tmcovar`, :doc:`../t/tmbeta`, :doc:`../t/tmcorr`, :doc:`../t/tmwavg`, :doc:`../t/tmwsum`, :doc:`/Functionalprogramming/TemplateFunctions/tmoving`, :doc:`/Functionalprogramming/TemplateFunctions/moving`, :doc:`../s/sma`, :doc:`../w/wma`, :doc:`../d/dema`, :doc:`../t/tema`, :doc:`../t/trima`, :doc:`../l/linearTimeTrend`, :doc:`/Functionalprogramming/TemplateFunctions/talib`, :doc:`../t/t3`, :doc:`../m/ma`, :doc:`../m/mmaxPositiveStreak`, :doc:`../m/movingWindowData`, :doc:`../t/tmovingWindowData`",
|
|
15135
15172
|
"* 行计算函数: :doc:`../r/rowMin`, :doc:`../r/rowMax`, :doc:`../r/rowAnd`, :doc:`../r/rowOr`, :doc:`../r/rowXor`, :doc:`../r/rowProd`, :doc:`../r/rowSum`, :doc:`../r/rowSum2`, :doc:`../r/rowSize`, :doc:`../r/rowCount`, :doc:`../r/rowAvg`, :doc:`../r/rowKurtosis`, :doc:`../r/rowSkew`, :doc:`../r/rowVar`, :doc:`../r/rowVarp`, :doc:`../r/rowStd`, :doc:`../r/rowStdp`",
|
|
15136
15173
|
"* 序列相关函数::doc:`../d/deltas`, :doc:`../r/ratios`, :doc:`../f/ffill`, :doc:`../m/move`, :doc:`../p/prev`, :doc:`../i/iterate`, :doc:`../e/ewmMean`, :doc:`../e/ewmVar`, :doc:`../e/ewmStd`, :doc:`../e/ewmCov`, :doc:`../e/ewmCorr`, :doc:`../p/prevState`",
|
|
15137
15174
|
"* topN相关函数::doc:`../m/msumTopN`, :doc:`../m/mavgTopN`, :doc:`../m/mstdpTopN`, :doc:`../m/mstdTopN`, :doc:`../m/mvarpTopN`, :doc:`../m/mvarTopN`, :doc:`../m/mcorrTopN`, :doc:`../m/mbetaTopN`, :doc:`../m/mcovarTopN`, :doc:`../m/mwsumTopN`",
|
|
15138
|
-
"* 高阶函数::doc:`/Functionalprogramming/TemplateFunctions/segmentby` (参数 *func* 暂支持 cumsum, cummax, cummin, cumcount, cumavg, cumstd, cumvar, cumstdp, cumvarp)",
|
|
15175
|
+
"* 高阶函数::doc:`/Functionalprogramming/TemplateFunctions/segmentby` (参数 *func* 暂支持 cumsum, cummax, cummin, cumcount, cumavg, cumstd, cumvar, cumstdp, cumvarp), :doc:`/Functionalprogramming/TemplateFunctions/moving`, :doc:`/Functionalprogramming/TemplateFunctions/byColumn`, :doc:`/Functionalprogramming/TemplateFunctions/accumulate`",
|
|
15139
15176
|
"* 其他函数::doc:`../t/talibNull`, :doc:`../d/dynamicGroupCumsum`, :doc:`../d/dynamicGroupCumcount`, :doc:`../t/topRange`, :doc:`../l/lowRange`, :doc:`../t/trueRange`",
|
|
15140
|
-
"* 特殊函数(仅支持在引擎内使用)::doc:`../s/stateIterate`, :doc:`../c/conditionalIterate`, :doc:`../s/stateMavg`",
|
|
15177
|
+
"* 特殊函数(仅支持在引擎内使用)::doc:`../s/stateIterate`, :doc:`../c/conditionalIterate`, :doc:`../s/stateMavg`, :doc:`../g/genericStateIterate`, :doc:`../g/genericTStateIterate`",
|
|
15141
15178
|
"",
|
|
15142
15179
|
"注意,:doc:`/Functionalprogramming/TemplateFunctions/talib` 作为状态函数时,第一个参数 `func` 只能是响应式状态引擎支持的状态函数。",
|
|
15143
15180
|
"",
|
|
@@ -15358,7 +15395,41 @@
|
|
|
15358
15395
|
" //若要重复调试以上代码,需要先执行以下代码",
|
|
15359
15396
|
" $ unsubscribeTable(tableName=`trades, actionName=\"test\")",
|
|
15360
15397
|
" $ dropStreamEngine(`test)",
|
|
15361
|
-
" $ undef(`trades, SHARED)"
|
|
15398
|
+
" $ undef(`trades, SHARED)",
|
|
15399
|
+
""
|
|
15400
|
+
]
|
|
15401
|
+
},
|
|
15402
|
+
{
|
|
15403
|
+
"type": "text",
|
|
15404
|
+
"value": [
|
|
15405
|
+
"2.00.9 版本后,支持在响应式状态引擎中调用 moving 高阶函数计算 array vector。",
|
|
15406
|
+
""
|
|
15407
|
+
]
|
|
15408
|
+
},
|
|
15409
|
+
{
|
|
15410
|
+
"type": "code",
|
|
15411
|
+
"language": "console",
|
|
15412
|
+
"value": [
|
|
15413
|
+
" ",
|
|
15414
|
+
" $ defg myFactor(x){"
|
|
15415
|
+
]
|
|
15416
|
+
},
|
|
15417
|
+
{
|
|
15418
|
+
"type": "text",
|
|
15419
|
+
"value": [
|
|
15420
|
+
"\t$ return avg(var(x));",
|
|
15421
|
+
" $ }",
|
|
15422
|
+
" $ share streamTable(1:0, `DateTime`SecurityID`Trade, [TIMESTAMP, SYMBOL, DOUBLE[]]) as tickStream",
|
|
15423
|
+
" $ result = table(1000:0, `SecurityID`DateTime`result, [SYMBOL, DATETIME, DOUBLE])",
|
|
15424
|
+
" $ rse = createReactiveStateEngine(name=\"reactiveDemo\", metrics =<[DateTime, moving(myFactor, Trade, 3, 1)]>, dummyTable=tickStream, outputTable=result, keyColumn=\"SecurityID\")",
|
|
15425
|
+
" $ DateTime = 2022.09.15T09:00:00.000+1..12",
|
|
15426
|
+
" $ SecurityID = take(`600021, 12)",
|
|
15427
|
+
" $ Trade = [[10.06, 10.06], [10.04], [10.05, 10.06, 10.05, 10.08],[10.02,10.01], [10.06, 10.06, 10.05, 10.05], [10.04], [10.05,10.08, 10.09],[10.02,10.01],[10.06, 10.06, 10.05], [10.04, 10.03], [10.05, 10.06, 10.05, 10.08, 10.09],[10.02]]",
|
|
15428
|
+
" $ t = table(1:0, `DateTime`SecurityID`Trade, [TIMESTAMP, SYMBOL, DOUBLE[]])",
|
|
15429
|
+
" $ tableInsert(t, DateTime, SecurityID, Trade)",
|
|
15430
|
+
" $ rse.append!(t)",
|
|
15431
|
+
" $ select * from result",
|
|
15432
|
+
" $ dropStreamEngine(\"reactiveDemo\") "
|
|
15362
15433
|
]
|
|
15363
15434
|
}
|
|
15364
15435
|
]
|
|
@@ -15565,14 +15636,18 @@
|
|
|
15565
15636
|
"* 对于SHORT, INT, LONG 与时间或日期类型数据,建议采用 delta 算法压缩。",
|
|
15566
15637
|
"* 将字符串存储为 SYMBOL 类型数据,实现对字符串类型的压缩。",
|
|
15567
15638
|
"",
|
|
15568
|
-
"`sortColumns`
|
|
15639
|
+
"`sortColumns` 字符串标量或向量,用于指定表的排序列,写入的数据将按 *sortColumns* 进行排序。系统默认 *sortColumns*(指定多列时) 最后一列为时间列,其余列字段作为排序的索引列,其组合值称作 sort key。若 *sortColumns* 只指定一列,则该列的值将作为 sort key。系统将同一个 sort key 内的数据划分为固定大小的数据块,并在内存中维护一个指向数据块地址的索引。查询时,若查询条件包含索引列,可以快速定位数据所在的数据块位置,提高查询性能。",
|
|
15640
|
+
"",
|
|
15641
|
+
"- *sortColumns* 只能是 integer, temporal, string, 或 symbol 类型。",
|
|
15642
|
+
"",
|
|
15643
|
+
" - 若 *sortColumns* 指定为多列,则 *sortColumns* 的最后一列必须为时间列,其余列为索引列,且索引列不能为为 TIME, TIMESTAMP, NANOTIME, NANOTIMESTAMP 类型。",
|
|
15644
|
+
" - 若 *sortColumns* 仅指定一列,不要求必须为时间类型。若 *sortColumns* 指定为一列时间列 (非分区列),且同时指定了 *sortKeyMappingFunction*,则查询的过滤条件中 *sortColumns* 只能与相同时间类型的值进行比较。",
|
|
15645
|
+
"",
|
|
15646
|
+
"- 频繁查询的字段适合设置为 *sortColumns*,且建议优先把查询频率高的字段作为 *sortColumns* 中位置靠前的列。",
|
|
15569
15647
|
"",
|
|
15570
|
-
"
|
|
15571
|
-
"
|
|
15572
|
-
"
|
|
15573
|
-
"* *sortColumns* 的最后一列必须为时间列。",
|
|
15574
|
-
"* 为保证性能最优,建议每个分区内 sort key 的组合数不超过1000个。",
|
|
15575
|
-
"* *sortColumns* 是每个分区内部 level file 内数据的排序依据,与其是否为分区字段无关。",
|
|
15648
|
+
"- 为保证性能最优,建议每个分区内索引列的组合数(sort key)不超过1000个。",
|
|
15649
|
+
"",
|
|
15650
|
+
"- *sortColumns* 是每个分区内部 level file 内数据的排序依据,与其是否为分区字段无关。",
|
|
15576
15651
|
"",
|
|
15577
15652
|
"`keepDuplicates` 指定在每个分区内如何处理所有 *sortColumns* 之值皆相同的数据。提供以下选项:",
|
|
15578
15653
|
"",
|
|
@@ -15594,6 +15669,8 @@
|
|
|
15594
15669
|
"value": [
|
|
15595
15670
|
"在分布式数据库中创建一个维度表。维度表是分布式数据库中没有进行分区的表,适用于存储不频繁更新的小数据集。",
|
|
15596
15671
|
"",
|
|
15672
|
+
"使用 ``loadTable`` 函数将维度表加载到内存后,其占用的缓存空间不会被系统自动释放,用户可以手动调用命令 ``clearCachedDatabase()`` 进行清理。因此,不建议用户将记录数超过200万条的表存储为维度表。",
|
|
15673
|
+
"",
|
|
15597
15674
|
"维度表与分区表都是根据设置参数 *dfsReplicationFactor* 决定副本的数量。维度表的读写操作也支持事务。",
|
|
15598
15675
|
"",
|
|
15599
15676
|
"通过在配置项配置 *enableConcurrentDimensionalTableWrite* = true,可以支持对维度表进行并发的写入、修改或删除操作。"
|
|
@@ -16408,7 +16485,7 @@
|
|
|
16408
16485
|
{
|
|
16409
16486
|
"type": "text",
|
|
16410
16487
|
"value": [
|
|
16411
|
-
"
|
|
16488
|
+
"创建用户。该函数只能由管理员在控制节点/数据节点上执行。",
|
|
16412
16489
|
"",
|
|
16413
16490
|
"*groupIds* 表示的组必须是已经创建了的组。"
|
|
16414
16491
|
]
|
|
@@ -21287,7 +21364,7 @@
|
|
|
21287
21364
|
{
|
|
21288
21365
|
"type": "text",
|
|
21289
21366
|
"value": [
|
|
21290
|
-
"
|
|
21367
|
+
"删除一个群组。这可能会影响群组内所有成员的权限。该命令只能由管理员在控制节点/数据节点上执行。"
|
|
21291
21368
|
]
|
|
21292
21369
|
}
|
|
21293
21370
|
]
|
|
@@ -21355,7 +21432,7 @@
|
|
|
21355
21432
|
{
|
|
21356
21433
|
"type": "text",
|
|
21357
21434
|
"value": [
|
|
21358
|
-
"
|
|
21435
|
+
"删除多个组中的同一个成员,或删除同一个组中的多个成员。该函数只能由管理员在控制节点/数据节点上执行。"
|
|
21359
21436
|
]
|
|
21360
21437
|
}
|
|
21361
21438
|
]
|
|
@@ -21557,7 +21634,7 @@
|
|
|
21557
21634
|
{
|
|
21558
21635
|
"type": "text",
|
|
21559
21636
|
"value": [
|
|
21560
|
-
"
|
|
21637
|
+
"删除一个用户。该函数只能由管理员在控制节点/数据节点上执行。"
|
|
21561
21638
|
]
|
|
21562
21639
|
}
|
|
21563
21640
|
]
|
|
@@ -21933,29 +22010,13 @@
|
|
|
21933
22010
|
{
|
|
21934
22011
|
"type": "text",
|
|
21935
22012
|
"value": [
|
|
21936
|
-
"`
|
|
21937
|
-
"",
|
|
21938
|
-
"`accessType` 是权限类型。主要有以下8种权限:",
|
|
21939
|
-
"",
|
|
21940
|
-
"1. TABLE_READ:读取指定数据表",
|
|
21941
|
-
"",
|
|
21942
|
-
"2. TABLE_WRITE:写入指定数据表",
|
|
21943
|
-
"",
|
|
21944
|
-
"3. DBOBJ_CREATE:在某个数据库中创建数据表",
|
|
21945
|
-
"",
|
|
21946
|
-
"4. DBOBJ_DELETE:删除某个数据库中的数据表",
|
|
21947
|
-
"",
|
|
21948
|
-
"5. VIEW_EXEC:执行某个视图",
|
|
21949
|
-
"",
|
|
21950
|
-
"6. DB_MANAGE:创建以及删除数据库。可删除任何人所建数据库,包括具有DB_OWNER权限之用户所建数据库。",
|
|
22013
|
+
"`userId` | `groupId` 是表示用户名或组名的字符串。",
|
|
21951
22014
|
"",
|
|
21952
|
-
"
|
|
22015
|
+
"`accessType` 是权限类型。",
|
|
21953
22016
|
"",
|
|
21954
|
-
"
|
|
22017
|
+
"`objs` 标量或向量,表示权限类型的应用对象。",
|
|
21955
22018
|
"",
|
|
21956
|
-
"
|
|
21957
|
-
"",
|
|
21958
|
-
"`objs` 是表示权限类型的应用对象。若权限类型为TABLE_READ, TABLE_WRITE, DBOBJ_CREATE, DBOBJ_DELETE或VIEW_EXEC, 它是一个必需参数。若权限类型为DB_MANAGE, DB_OWNER, SCRIPT_EXEC和TEST_EXEC, 它可以省略。"
|
|
22019
|
+
"*accessType* 和 *objs* 的取值请参照 :doc:`/SystemManagement/UserAccessControl` 权限类型表。"
|
|
21959
22020
|
]
|
|
21960
22021
|
}
|
|
21961
22022
|
]
|
|
@@ -21967,7 +22028,7 @@
|
|
|
21967
22028
|
{
|
|
21968
22029
|
"type": "text",
|
|
21969
22030
|
"value": [
|
|
21970
|
-
"
|
|
22031
|
+
"拒绝某个用户或某个组的权限。该命令只能由管理员在控制节点/数据节点上执行。"
|
|
21971
22032
|
]
|
|
21972
22033
|
}
|
|
21973
22034
|
]
|
|
@@ -21985,7 +22046,7 @@
|
|
|
21985
22046
|
"",
|
|
21986
22047
|
".. $ deny(`production, TABLE_READ, \"dfs://db1\")",
|
|
21987
22048
|
"",
|
|
21988
|
-
"
|
|
22049
|
+
"组 \"research\" 中的所有成员都不能向表 ``dfs://db1/t1`` 中写入数据:",
|
|
21989
22050
|
""
|
|
21990
22051
|
]
|
|
21991
22052
|
},
|
|
@@ -22001,7 +22062,7 @@
|
|
|
22001
22062
|
{
|
|
22002
22063
|
"type": "text",
|
|
22003
22064
|
"value": [
|
|
22004
|
-
"
|
|
22065
|
+
"组 \"research\" 中的所有成员都不能在数据库 ``dfs://db1`` 和 ``dfs://db2`` 中创建表:",
|
|
22005
22066
|
""
|
|
22006
22067
|
]
|
|
22007
22068
|
},
|
|
@@ -22017,7 +22078,7 @@
|
|
|
22017
22078
|
{
|
|
22018
22079
|
"type": "text",
|
|
22019
22080
|
"value": [
|
|
22020
|
-
"
|
|
22081
|
+
"用户 \"AlexSmith\" 不能创建或删除数据库:",
|
|
22021
22082
|
""
|
|
22022
22083
|
]
|
|
22023
22084
|
},
|
|
@@ -22033,7 +22094,7 @@
|
|
|
22033
22094
|
{
|
|
22034
22095
|
"type": "text",
|
|
22035
22096
|
"value": [
|
|
22036
|
-
"
|
|
22097
|
+
"用户 \"AlexSmith\" 不能执行脚本:",
|
|
22037
22098
|
""
|
|
22038
22099
|
]
|
|
22039
22100
|
},
|
|
@@ -22049,7 +22110,7 @@
|
|
|
22049
22110
|
{
|
|
22050
22111
|
"type": "text",
|
|
22051
22112
|
"value": [
|
|
22052
|
-
"
|
|
22113
|
+
"用户 \"AlexSmith\" 不能测试脚本:",
|
|
22053
22114
|
""
|
|
22054
22115
|
]
|
|
22055
22116
|
},
|
|
@@ -22385,11 +22446,11 @@
|
|
|
22385
22446
|
{
|
|
22386
22447
|
"type": "text",
|
|
22387
22448
|
"value": [
|
|
22388
|
-
"dict(keyObj, valueObj)
|
|
22449
|
+
"dict(keyObj, valueObj, [ordered=false])",
|
|
22389
22450
|
"",
|
|
22390
22451
|
"或",
|
|
22391
22452
|
"",
|
|
22392
|
-
"dict(keyType, valueType)"
|
|
22453
|
+
"dict(keyType, valueType, [ordered=false])"
|
|
22393
22454
|
]
|
|
22394
22455
|
}
|
|
22395
22456
|
]
|
|
@@ -22403,7 +22464,9 @@
|
|
|
22403
22464
|
"value": [
|
|
22404
22465
|
"对于第一种情形,`keyObj` 是表示键的向量,`valueObj` 是表示值的向量。",
|
|
22405
22466
|
"",
|
|
22406
|
-
"对于第二种情形,`keyType` 是字典键的数据类型,`valueType` 是字典值的数据类型。系统支持以下键的数据类型:Logical, Integral, Floating和Temporal
|
|
22467
|
+
"对于第二种情形,`keyType` 是字典键的数据类型,`valueType` 是字典值的数据类型。系统支持以下键的数据类型:Logical, Integral, Floating和Temporal。字典中的值不支持 COMPLEX, POINT 和 Decimal 类别。",
|
|
22468
|
+
"",
|
|
22469
|
+
"ordered 一个布尔值,默认为 false,表示创建一个无序字典。当 ordered = true 时,创建一个有序字典。无序字典在输出或进行遍历时,其键值对不保留输入时的顺序;有序字典在输出或进行遍历时,键值对的顺序与输入顺序保持一致。"
|
|
22407
22470
|
]
|
|
22408
22471
|
}
|
|
22409
22472
|
]
|
|
@@ -22415,7 +22478,7 @@
|
|
|
22415
22478
|
{
|
|
22416
22479
|
"type": "text",
|
|
22417
22480
|
"value": [
|
|
22418
|
-
"
|
|
22481
|
+
"返回一个无序字典或有序字典对象。"
|
|
22419
22482
|
]
|
|
22420
22483
|
}
|
|
22421
22484
|
]
|
|
@@ -22450,13 +22513,20 @@
|
|
|
22450
22513
|
" $ dt=dict([`test], [1]);",
|
|
22451
22514
|
" $ dt;",
|
|
22452
22515
|
" test->1",
|
|
22516
|
+
"",
|
|
22517
|
+
" //创建有序字典",
|
|
22518
|
+
" $z=dict(x,y,true)",
|
|
22519
|
+
" $z;",
|
|
22520
|
+
" 1->4.5",
|
|
22521
|
+
" 2->7.8",
|
|
22522
|
+
" 3->4.3",
|
|
22453
22523
|
""
|
|
22454
22524
|
]
|
|
22455
22525
|
},
|
|
22456
22526
|
{
|
|
22457
22527
|
"type": "text",
|
|
22458
22528
|
"value": [
|
|
22459
|
-
"
|
|
22529
|
+
"获取键和值:",
|
|
22460
22530
|
""
|
|
22461
22531
|
]
|
|
22462
22532
|
},
|
|
@@ -22480,7 +22550,7 @@
|
|
|
22480
22550
|
{
|
|
22481
22551
|
"type": "text",
|
|
22482
22552
|
"value": [
|
|
22483
|
-
"相关函数::doc:`../a/array`, :doc:`../m/matrix`"
|
|
22553
|
+
"相关函数::doc:`../a/array`, :doc:`../m/matrix`, :doc:`../d/dictUpdate!`, :doc:`../s/syncDict`"
|
|
22484
22554
|
]
|
|
22485
22555
|
}
|
|
22486
22556
|
]
|
|
@@ -25054,8 +25124,8 @@
|
|
|
25054
25124
|
"",
|
|
25055
25125
|
"注意:",
|
|
25056
25126
|
"",
|
|
25057
|
-
"*
|
|
25058
|
-
"* M 表示月份,m 表示分钟;若分组的时间区间单位为 M,时间列需要通过函数 :doc:`../m/month` 转换为对应月份。",
|
|
25127
|
+
"* 用于分组的时间区间单位应需不小于时间列的单位。",
|
|
25128
|
+
"* 时间单位区分大小写,例如:M 表示月份,m 表示分钟;若分组的时间区间单位为 M,时间列需要通过函数 :doc:`../m/month` 转换为对应月份。",
|
|
25059
25129
|
"* DURATION 类型数据之间不能进行任何运算。"
|
|
25060
25130
|
]
|
|
25061
25131
|
}
|
|
@@ -26257,6 +26327,80 @@
|
|
|
26257
26327
|
}
|
|
26258
26328
|
]
|
|
26259
26329
|
},
|
|
26330
|
+
"enlist": {
|
|
26331
|
+
"title": "enlist",
|
|
26332
|
+
"type": "function",
|
|
26333
|
+
"children": [
|
|
26334
|
+
{
|
|
26335
|
+
"title": "语法",
|
|
26336
|
+
"type": "grammer",
|
|
26337
|
+
"children": [
|
|
26338
|
+
{
|
|
26339
|
+
"type": "text",
|
|
26340
|
+
"value": [
|
|
26341
|
+
"enlist()"
|
|
26342
|
+
]
|
|
26343
|
+
}
|
|
26344
|
+
]
|
|
26345
|
+
},
|
|
26346
|
+
{
|
|
26347
|
+
"title": "参数",
|
|
26348
|
+
"type": "parameters",
|
|
26349
|
+
"children": [
|
|
26350
|
+
{
|
|
26351
|
+
"type": "text",
|
|
26352
|
+
"value": [
|
|
26353
|
+
"`X` 任意数据形式。"
|
|
26354
|
+
]
|
|
26355
|
+
}
|
|
26356
|
+
]
|
|
26357
|
+
},
|
|
26358
|
+
{
|
|
26359
|
+
"title": "详情",
|
|
26360
|
+
"type": "detail",
|
|
26361
|
+
"children": [
|
|
26362
|
+
{
|
|
26363
|
+
"type": "text",
|
|
26364
|
+
"value": [
|
|
26365
|
+
"返回一个由 X 组成的向量或元组。",
|
|
26366
|
+
"",
|
|
26367
|
+
"* X 是标量时,返回一个向量。",
|
|
26368
|
+
"",
|
|
26369
|
+
"* X 是向量、元组等其他数据形式时,返回一个元组。"
|
|
26370
|
+
]
|
|
26371
|
+
}
|
|
26372
|
+
]
|
|
26373
|
+
},
|
|
26374
|
+
{
|
|
26375
|
+
"title": "例子",
|
|
26376
|
+
"type": "example",
|
|
26377
|
+
"children": [
|
|
26378
|
+
{
|
|
26379
|
+
"type": "code",
|
|
26380
|
+
"language": "console",
|
|
26381
|
+
"value": [
|
|
26382
|
+
"",
|
|
26383
|
+
" $ enlist(1)",
|
|
26384
|
+
" [1]",
|
|
26385
|
+
"",
|
|
26386
|
+
" $ enlist(`aaa)",
|
|
26387
|
+
" [\"aaa\"]",
|
|
26388
|
+
"",
|
|
26389
|
+
" $ enlist([2022.01.01,2022.01.02,2022.01.03])",
|
|
26390
|
+
" ([2022.01.01,2022.01.02,2022.01.03])",
|
|
26391
|
+
"",
|
|
26392
|
+
" $ enlist([\"a\",2,3])",
|
|
26393
|
+
" ((\"a\",2,3))",
|
|
26394
|
+
"",
|
|
26395
|
+
" $ a = array(INT[], 0, 10).append!([1 2 3, 4 5,6 7 8, 9 NULL])",
|
|
26396
|
+
" $ enlist(a)",
|
|
26397
|
+
" ([[1,2,3],[4,5],[6,7,8],[9,00i]])"
|
|
26398
|
+
]
|
|
26399
|
+
}
|
|
26400
|
+
]
|
|
26401
|
+
}
|
|
26402
|
+
]
|
|
26403
|
+
},
|
|
26260
26404
|
"eq": {
|
|
26261
26405
|
"title": "eq",
|
|
26262
26406
|
"type": "function",
|
|
@@ -31472,166 +31616,6 @@
|
|
|
31472
31616
|
}
|
|
31473
31617
|
]
|
|
31474
31618
|
},
|
|
31475
|
-
"getAsyncReplicationStatus": {
|
|
31476
|
-
"title": "getAsyncReplicationStatus",
|
|
31477
|
-
"type": "function",
|
|
31478
|
-
"children": [
|
|
31479
|
-
{
|
|
31480
|
-
"title": "语法",
|
|
31481
|
-
"type": "grammer",
|
|
31482
|
-
"children": [
|
|
31483
|
-
{
|
|
31484
|
-
"type": "text",
|
|
31485
|
-
"value": [
|
|
31486
|
-
"getAsyncReplicationStatus()"
|
|
31487
|
-
]
|
|
31488
|
-
}
|
|
31489
|
-
]
|
|
31490
|
-
},
|
|
31491
|
-
{
|
|
31492
|
-
"title": "参数",
|
|
31493
|
-
"type": "parameters",
|
|
31494
|
-
"children": [
|
|
31495
|
-
{
|
|
31496
|
-
"type": "text",
|
|
31497
|
-
"value": [
|
|
31498
|
-
"无"
|
|
31499
|
-
]
|
|
31500
|
-
}
|
|
31501
|
-
]
|
|
31502
|
-
},
|
|
31503
|
-
{
|
|
31504
|
-
"title": "详情",
|
|
31505
|
-
"type": "detail",
|
|
31506
|
-
"children": [
|
|
31507
|
-
{
|
|
31508
|
-
"type": "text",
|
|
31509
|
-
"value": [
|
|
31510
|
-
"查询集群间异步复制的运行状态。在主集群的数据节点上执行,只返回该节点的运行状态。",
|
|
31511
|
-
"",
|
|
31512
|
-
"返回一个表,包含以下列:",
|
|
31513
|
-
"",
|
|
31514
|
-
"* Status: 运行状态(running / stop)",
|
|
31515
|
-
"",
|
|
31516
|
-
"* Tasks: 剩余任务的个数",
|
|
31517
|
-
"",
|
|
31518
|
-
"* Last_Failed_Cid: 上一次失败的任务的cid",
|
|
31519
|
-
"",
|
|
31520
|
-
"* Last_Failed_Time: 上一次失败的时间 ",
|
|
31521
|
-
"",
|
|
31522
|
-
"* Reason: 失败的原因",
|
|
31523
|
-
"",
|
|
31524
|
-
"对于失败的任务,系统会不断尝试重新发送,因此如果不调用 :doc:`/FunctionsandCommands/CommandsReferences/s/stopAsyncReplication` 暂停发送任务,该任务会不断尝试重发,十分钟后如果仍然发送失败则主动停止。"
|
|
31525
|
-
]
|
|
31526
|
-
}
|
|
31527
|
-
]
|
|
31528
|
-
},
|
|
31529
|
-
{
|
|
31530
|
-
"title": "例子",
|
|
31531
|
-
"type": "example",
|
|
31532
|
-
"children": [
|
|
31533
|
-
{
|
|
31534
|
-
"type": "code",
|
|
31535
|
-
"language": "console",
|
|
31536
|
-
"value": [
|
|
31537
|
-
" ",
|
|
31538
|
-
" $ getAsyncReplicationStatus();",
|
|
31539
|
-
"",
|
|
31540
|
-
""
|
|
31541
|
-
]
|
|
31542
|
-
},
|
|
31543
|
-
{
|
|
31544
|
-
"type": "text",
|
|
31545
|
-
"value": [
|
|
31546
|
-
"========= ======= ================= ================== ========",
|
|
31547
|
-
"Status Tasks Last_Failed_Cid Last_Failed_Time Reason ",
|
|
31548
|
-
"========= ======= ================= ================== ========",
|
|
31549
|
-
"running 0 -1 ",
|
|
31550
|
-
"========= ======= ================= ================== ========"
|
|
31551
|
-
]
|
|
31552
|
-
}
|
|
31553
|
-
]
|
|
31554
|
-
}
|
|
31555
|
-
]
|
|
31556
|
-
},
|
|
31557
|
-
"getAsyncReplicationTasks": {
|
|
31558
|
-
"title": "getAsyncReplicationTasks",
|
|
31559
|
-
"type": "function",
|
|
31560
|
-
"children": [
|
|
31561
|
-
{
|
|
31562
|
-
"title": "语法",
|
|
31563
|
-
"type": "grammer",
|
|
31564
|
-
"children": [
|
|
31565
|
-
{
|
|
31566
|
-
"type": "text",
|
|
31567
|
-
"value": [
|
|
31568
|
-
"getAsyncReplicationTasks([n])"
|
|
31569
|
-
]
|
|
31570
|
-
}
|
|
31571
|
-
]
|
|
31572
|
-
},
|
|
31573
|
-
{
|
|
31574
|
-
"title": "参数",
|
|
31575
|
-
"type": "parameters",
|
|
31576
|
-
"children": [
|
|
31577
|
-
{
|
|
31578
|
-
"type": "text",
|
|
31579
|
-
"value": [
|
|
31580
|
-
"`n` 是一个可选参数,表示从 *asyncReplicationWorkDir* 指定的路径读取的任务数量。若不指定 n,则表示获取所有任务。"
|
|
31581
|
-
]
|
|
31582
|
-
}
|
|
31583
|
-
]
|
|
31584
|
-
},
|
|
31585
|
-
{
|
|
31586
|
-
"title": "详情",
|
|
31587
|
-
"type": "detail",
|
|
31588
|
-
"children": [
|
|
31589
|
-
{
|
|
31590
|
-
"type": "text",
|
|
31591
|
-
"value": [
|
|
31592
|
-
"启用集群间的异步复制后,在主集群的数据节点上执行,返回该节点从 *asyncReplicationWorkDir* 指定的路径读取的需要发送的任务。运行此函数前,异步复制应当处于 stop 状态。",
|
|
31593
|
-
"",
|
|
31594
|
-
"返回一个表,包含以下列:",
|
|
31595
|
-
"",
|
|
31596
|
-
"* Skip: 布尔值,表示是否跳过此任务。True 表示跳过",
|
|
31597
|
-
"",
|
|
31598
|
-
"* Cid: 任务编号 ",
|
|
31599
|
-
"",
|
|
31600
|
-
"* Function: 任务对应的函数命令",
|
|
31601
|
-
"",
|
|
31602
|
-
"* Args: 函数的参数个数 "
|
|
31603
|
-
]
|
|
31604
|
-
}
|
|
31605
|
-
]
|
|
31606
|
-
},
|
|
31607
|
-
{
|
|
31608
|
-
"title": "例子",
|
|
31609
|
-
"type": "example",
|
|
31610
|
-
"children": [
|
|
31611
|
-
{
|
|
31612
|
-
"type": "code",
|
|
31613
|
-
"language": "console",
|
|
31614
|
-
"value": [
|
|
31615
|
-
" ",
|
|
31616
|
-
" $ getAsyncReplicationTasks();",
|
|
31617
|
-
""
|
|
31618
|
-
]
|
|
31619
|
-
},
|
|
31620
|
-
{
|
|
31621
|
-
"type": "text",
|
|
31622
|
-
"value": [
|
|
31623
|
-
"======= ===== ============================================== ======",
|
|
31624
|
-
"Skip Cid Function Args ",
|
|
31625
|
-
"======= ===== ============================================== ======",
|
|
31626
|
-
"false 5 dropTable(database('dfs://test_copy'),'pt1') 0 ",
|
|
31627
|
-
"true 6 append!{database('dfs://test_copy'),'pt2')} 1 ",
|
|
31628
|
-
"======= ===== ============================================== ======"
|
|
31629
|
-
]
|
|
31630
|
-
}
|
|
31631
|
-
]
|
|
31632
|
-
}
|
|
31633
|
-
]
|
|
31634
|
-
},
|
|
31635
31619
|
"getAuthenticatedUsers": {
|
|
31636
31620
|
"title": "getAuthenticatedUsers",
|
|
31637
31621
|
"type": "function",
|
|
@@ -31970,6 +31954,48 @@
|
|
|
31970
31954
|
}
|
|
31971
31955
|
]
|
|
31972
31956
|
},
|
|
31957
|
+
"getCachedSymbolBaseMemSize": {
|
|
31958
|
+
"title": "getCachedSymbolBaseMemSize",
|
|
31959
|
+
"type": "function",
|
|
31960
|
+
"children": [
|
|
31961
|
+
{
|
|
31962
|
+
"title": "语法",
|
|
31963
|
+
"type": "grammer",
|
|
31964
|
+
"children": [
|
|
31965
|
+
{
|
|
31966
|
+
"type": "text",
|
|
31967
|
+
"value": [
|
|
31968
|
+
"getCachedSymbolBaseMemSize()"
|
|
31969
|
+
]
|
|
31970
|
+
}
|
|
31971
|
+
]
|
|
31972
|
+
},
|
|
31973
|
+
{
|
|
31974
|
+
"title": "参数",
|
|
31975
|
+
"type": "parameters",
|
|
31976
|
+
"children": [
|
|
31977
|
+
{
|
|
31978
|
+
"type": "text",
|
|
31979
|
+
"value": [
|
|
31980
|
+
"无"
|
|
31981
|
+
]
|
|
31982
|
+
}
|
|
31983
|
+
]
|
|
31984
|
+
},
|
|
31985
|
+
{
|
|
31986
|
+
"title": "详情",
|
|
31987
|
+
"type": "detail",
|
|
31988
|
+
"children": [
|
|
31989
|
+
{
|
|
31990
|
+
"type": "text",
|
|
31991
|
+
"value": [
|
|
31992
|
+
"获取引擎中 SYMBOL 类型的字典编码的缓存大小,单位是 Bytes。 "
|
|
31993
|
+
]
|
|
31994
|
+
}
|
|
31995
|
+
]
|
|
31996
|
+
}
|
|
31997
|
+
]
|
|
31998
|
+
},
|
|
31973
31999
|
"getChunkPath": {
|
|
31974
32000
|
"title": "getChunkPath",
|
|
31975
32001
|
"type": "function",
|
|
@@ -32545,7 +32571,7 @@
|
|
|
32545
32571
|
{
|
|
32546
32572
|
"type": "text",
|
|
32547
32573
|
"value": [
|
|
32548
|
-
"`top`
|
|
32574
|
+
"`top` 是一个正整数。可选参数,默认值为 10。"
|
|
32549
32575
|
]
|
|
32550
32576
|
}
|
|
32551
32577
|
]
|
|
@@ -32557,7 +32583,31 @@
|
|
|
32557
32583
|
{
|
|
32558
32584
|
"type": "text",
|
|
32559
32585
|
"value": [
|
|
32560
|
-
"返回本地节点上最近完成的 top 条查询分布式数据库的 SQL
|
|
32586
|
+
"返回本地节点上最近完成的 top 条查询分布式数据库的 SQL 语句的描述信息表,包含以下字段:",
|
|
32587
|
+
"",
|
|
32588
|
+
"+-----------+---------------------------------------------------------------------------------------------------------+",
|
|
32589
|
+
"| 参数 | 含义 |",
|
|
32590
|
+
"+===========+=========================================================================================================+",
|
|
32591
|
+
"| userID | 用户 ID 。 |",
|
|
32592
|
+
"+-----------+---------------------------------------------------------------------------------------------------------+",
|
|
32593
|
+
"| sessionID | 发起查询的会话 ID。 |",
|
|
32594
|
+
"+-----------+---------------------------------------------------------------------------------------------------------+",
|
|
32595
|
+
"| jobID | 系统中查询任务的唯一标识。 |",
|
|
32596
|
+
"+-----------+---------------------------------------------------------------------------------------------------------+",
|
|
32597
|
+
"| rootID | 当前任务所属根任务的 jobID。 |",
|
|
32598
|
+
"+-----------+---------------------------------------------------------------------------------------------------------+",
|
|
32599
|
+
"| level | 任务的级别。根任务的 level 为 0,其分解的子任务 level 为 1,该子任务分解的子任务 level 为 2,以此类推。 |",
|
|
32600
|
+
"+-----------+---------------------------------------------------------------------------------------------------------+",
|
|
32601
|
+
"| startTime | 查询任务开始时间,为 NANOTIMESTAMP 类型。 |",
|
|
32602
|
+
"+-----------+---------------------------------------------------------------------------------------------------------+",
|
|
32603
|
+
"| endTime | 查询任务结束时间,为 NANOTIMESTAMP 类型。 |",
|
|
32604
|
+
"+-----------+---------------------------------------------------------------------------------------------------------+",
|
|
32605
|
+
"| jobDesc | 查询语句描述。 |",
|
|
32606
|
+
"+-----------+---------------------------------------------------------------------------------------------------------+",
|
|
32607
|
+
"| errorMsg | 报错信息。 |",
|
|
32608
|
+
"+-----------+---------------------------------------------------------------------------------------------------------+",
|
|
32609
|
+
"| remoteIP | 发起查询的客户端 IP。 |",
|
|
32610
|
+
"+-----------+---------------------------------------------------------------------------------------------------------+",
|
|
32561
32611
|
"",
|
|
32562
32612
|
"本函数只可由系统管理员执行。在使用该函数之前,必须设定配置参数 *perfMonitoring* = 1 以启动性能监控。"
|
|
32563
32613
|
]
|
|
@@ -32945,7 +32995,47 @@
|
|
|
32945
32995
|
{
|
|
32946
32996
|
"type": "text",
|
|
32947
32997
|
"value": [
|
|
32948
|
-
"返回本地节点上正在执行的交互式任务的描述信息。"
|
|
32998
|
+
"返回本地节点上正在执行的交互式任务的描述信息。",
|
|
32999
|
+
"",
|
|
33000
|
+
"包含以下字段:",
|
|
33001
|
+
"",
|
|
33002
|
+
"+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+",
|
|
33003
|
+
"| 参数 | 含义 |",
|
|
33004
|
+
"+=====================+======================================================================================================================================================+",
|
|
33005
|
+
"| node | 本地节点的别名。 |",
|
|
33006
|
+
"+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+",
|
|
33007
|
+
"| userID | 用户 ID。 |",
|
|
33008
|
+
"+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+",
|
|
33009
|
+
"| rootJobId | 系统中作业的唯一标识。 |",
|
|
33010
|
+
"+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+",
|
|
33011
|
+
"| jobType | 作业类型。 |",
|
|
33012
|
+
"+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+",
|
|
33013
|
+
"| desc | 作业描述。 |",
|
|
33014
|
+
"+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+",
|
|
33015
|
+
"| priority | 作业的优先级,为 0-9 之间的整数。 |",
|
|
33016
|
+
"+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+",
|
|
33017
|
+
"| parallelism | 作业的并行度,即分配给该作业的线程数上限。 |",
|
|
33018
|
+
"+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+",
|
|
33019
|
+
"| receiveTime | 作业被节点接收的时间。 |",
|
|
33020
|
+
"+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+",
|
|
33021
|
+
"| sessionId | 发起作业的会话 ID。 |",
|
|
33022
|
+
"+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+",
|
|
33023
|
+
"| remoteIP | 发起作业的客户端 IP。 |",
|
|
33024
|
+
"+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+",
|
|
33025
|
+
"| remotePort | 发起作业的客户端的端口号。 |",
|
|
33026
|
+
"+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+",
|
|
33027
|
+
"| totalTasks | 作业分解出的总任务数。 |",
|
|
33028
|
+
"+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+",
|
|
33029
|
+
"| finishedTasks | 作业分解出的任务中已经完成的任务数。 |",
|
|
33030
|
+
"+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+",
|
|
33031
|
+
"| runningTask | 作业分解出的任务中正在执行的任务数。 |",
|
|
33032
|
+
"+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+",
|
|
33033
|
+
"| firstTaskStartTime | 第一个任务的开始时间。 |",
|
|
33034
|
+
"+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+",
|
|
33035
|
+
"| latestTaskStartTime | 最近一个任务的开始时间。 |",
|
|
33036
|
+
"+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+",
|
|
33037
|
+
"| queue | 任务队列类型: normal queue(worker 队列),web queue(web 端 worker 队列),local task queue(local executor 队列),batchJob queue(批作业队列)。 |",
|
|
33038
|
+
"+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+"
|
|
32949
33039
|
]
|
|
32950
33040
|
}
|
|
32951
33041
|
]
|
|
@@ -33430,7 +33520,12 @@
|
|
|
33430
33520
|
{
|
|
33431
33521
|
"type": "text",
|
|
33432
33522
|
"value": [
|
|
33433
|
-
"返回所有的函数视图。"
|
|
33523
|
+
"返回所有的函数视图。",
|
|
33524
|
+
"",
|
|
33525
|
+
"返回一张表,包含两个字段:",
|
|
33526
|
+
"",
|
|
33527
|
+
"* name:函数名。",
|
|
33528
|
+
"* body:函数体。"
|
|
33434
33529
|
]
|
|
33435
33530
|
}
|
|
33436
33531
|
]
|
|
@@ -33498,7 +33593,7 @@
|
|
|
33498
33593
|
{
|
|
33499
33594
|
"type": "text",
|
|
33500
33595
|
"value": [
|
|
33501
|
-
"
|
|
33596
|
+
"返回组的权限。该函数只能由管理员在控制节点/数据节点上执行。"
|
|
33502
33597
|
]
|
|
33503
33598
|
}
|
|
33504
33599
|
]
|
|
@@ -33555,7 +33650,7 @@
|
|
|
33555
33650
|
{
|
|
33556
33651
|
"type": "text",
|
|
33557
33652
|
"value": [
|
|
33558
|
-
"
|
|
33653
|
+
"返回所有组。该函数只能由管理员在控制节点/数据节点上执行。"
|
|
33559
33654
|
]
|
|
33560
33655
|
}
|
|
33561
33656
|
]
|
|
@@ -33614,7 +33709,7 @@
|
|
|
33614
33709
|
{
|
|
33615
33710
|
"type": "text",
|
|
33616
33711
|
"value": [
|
|
33617
|
-
"
|
|
33712
|
+
"返回用户所在的组。该函数只能由管理员在控制节点/数据节点上执行。"
|
|
33618
33713
|
]
|
|
33619
33714
|
}
|
|
33620
33715
|
]
|
|
@@ -33945,7 +34040,21 @@
|
|
|
33945
34040
|
{
|
|
33946
34041
|
"type": "text",
|
|
33947
34042
|
"value": [
|
|
33948
|
-
"
|
|
34043
|
+
"监控正在执行或者队列中的作业和任务的数量。返回一个字典,其 key 的含义为:",
|
|
34044
|
+
"",
|
|
34045
|
+
"+-------------------+--------------------------+",
|
|
34046
|
+
"| 参数 | 含义 |",
|
|
34047
|
+
"+===================+==========================+",
|
|
34048
|
+
"| queuedLocalTasks | 等待执行的本地任务数。 |",
|
|
34049
|
+
"+-------------------+--------------------------+",
|
|
34050
|
+
"| runningLocalTasks | 正在执行的本地任务数。 |",
|
|
34051
|
+
"+-------------------+--------------------------+",
|
|
34052
|
+
"| queuedJobs | 队列中的作业数。 |",
|
|
34053
|
+
"+-------------------+--------------------------+",
|
|
34054
|
+
"| runningJobs | 正在执行的作业数。 |",
|
|
34055
|
+
"+-------------------+--------------------------+",
|
|
34056
|
+
"| queuedRemoteTasks | 发送到远程执行的任务数。 |",
|
|
34057
|
+
"+-------------------+--------------------------+"
|
|
33949
34058
|
]
|
|
33950
34059
|
}
|
|
33951
34060
|
]
|
|
@@ -34007,7 +34116,42 @@
|
|
|
34007
34116
|
{
|
|
34008
34117
|
"type": "text",
|
|
34009
34118
|
"value": [
|
|
34010
|
-
"
|
|
34119
|
+
"取得批处理作业返回的对象。",
|
|
34120
|
+
"",
|
|
34121
|
+
"返回一个表,包含以下字段:",
|
|
34122
|
+
"",
|
|
34123
|
+
"+--------------+--------------------------------------------+",
|
|
34124
|
+
"| 参数 | 含义 |",
|
|
34125
|
+
"+==============+============================================+",
|
|
34126
|
+
"| node | 本地节点的别名。 |",
|
|
34127
|
+
"+--------------+--------------------------------------------+",
|
|
34128
|
+
"| userID | 提交作业任务的用户 ID。 |",
|
|
34129
|
+
"+--------------+--------------------------------------------+",
|
|
34130
|
+
"| jobId | 在提交批作业时指定的作业名。 |",
|
|
34131
|
+
"+--------------+--------------------------------------------+",
|
|
34132
|
+
"| rootJobId | 系统中作业的唯一标识。 |",
|
|
34133
|
+
"+--------------+--------------------------------------------+",
|
|
34134
|
+
"| jobDesc | 用于描述作业的字符串。 |",
|
|
34135
|
+
"+--------------+--------------------------------------------+",
|
|
34136
|
+
"| priority | 作业的优先级,为 0-9 之间的整数。 |",
|
|
34137
|
+
"+--------------+--------------------------------------------+",
|
|
34138
|
+
"| parallelism | 作业的并行度,即分配给该作业的线程数上限。 |",
|
|
34139
|
+
"+--------------+--------------------------------------------+",
|
|
34140
|
+
"| clientIp | 发起作业任务的客户端 IP。 |",
|
|
34141
|
+
"+--------------+--------------------------------------------+",
|
|
34142
|
+
"| clientPort | 发起作业任务的客户端端口号。 |",
|
|
34143
|
+
"+--------------+--------------------------------------------+",
|
|
34144
|
+
"| receivedTime | 作业接收的时间,为 TIMESTAMP 类型。 |",
|
|
34145
|
+
"+--------------+--------------------------------------------+",
|
|
34146
|
+
"| startTime | 作业开始时间,为 TIMESTAMP 类型。 |",
|
|
34147
|
+
"+--------------+--------------------------------------------+",
|
|
34148
|
+
"| endTime | 作业结束时间,为 TIMESTAMP 类型。 |",
|
|
34149
|
+
"+--------------+--------------------------------------------+",
|
|
34150
|
+
"| errorMessage | 报错信息。 |",
|
|
34151
|
+
"+--------------+--------------------------------------------+",
|
|
34152
|
+
"",
|
|
34153
|
+
"",
|
|
34154
|
+
"详情请参考 :doc:`/SystemManagement/BatchJobManagement`。"
|
|
34011
34155
|
]
|
|
34012
34156
|
}
|
|
34013
34157
|
]
|
|
@@ -34301,6 +34445,83 @@
|
|
|
34301
34445
|
}
|
|
34302
34446
|
]
|
|
34303
34447
|
},
|
|
34448
|
+
"getLicenseServerResourceInfo": {
|
|
34449
|
+
"title": "getLicenseServerResourceInfo",
|
|
34450
|
+
"type": "function",
|
|
34451
|
+
"children": [
|
|
34452
|
+
{
|
|
34453
|
+
"title": "语法",
|
|
34454
|
+
"type": "grammer",
|
|
34455
|
+
"children": [
|
|
34456
|
+
{
|
|
34457
|
+
"type": "text",
|
|
34458
|
+
"value": [
|
|
34459
|
+
"getLicenseServerResourceInfo()"
|
|
34460
|
+
]
|
|
34461
|
+
}
|
|
34462
|
+
]
|
|
34463
|
+
},
|
|
34464
|
+
{
|
|
34465
|
+
"title": "参数",
|
|
34466
|
+
"type": "parameters",
|
|
34467
|
+
"children": [
|
|
34468
|
+
{
|
|
34469
|
+
"type": "text",
|
|
34470
|
+
"value": [
|
|
34471
|
+
"无"
|
|
34472
|
+
]
|
|
34473
|
+
}
|
|
34474
|
+
]
|
|
34475
|
+
},
|
|
34476
|
+
{
|
|
34477
|
+
"title": "详情",
|
|
34478
|
+
"type": "detail",
|
|
34479
|
+
"children": [
|
|
34480
|
+
{
|
|
34481
|
+
"type": "text",
|
|
34482
|
+
"value": [
|
|
34483
|
+
"License Server 是一个单节点 server,负责与其它非 License Server 的节点进行通信,并控制节点的启动。它收集其它节点对于资源(内存和CPU 内核数)的需求数量,当存在可用资源时,便允许节点正常启动,否则拒绝节点启动。通过配置项 localSite 和 licenseServerSite 控制是否启用 License Server。",
|
|
34484
|
+
"该函数用于获取由 License Server 管理的许可证等信息,返回一个字典,包含以下信息:",
|
|
34485
|
+
"",
|
|
34486
|
+
"* expiration:许可证到期时间",
|
|
34487
|
+
"",
|
|
34488
|
+
"* availableCores:可用内核数量",
|
|
34489
|
+
"",
|
|
34490
|
+
"* availableMemory:可用内存,单位为 GB",
|
|
34491
|
+
"",
|
|
34492
|
+
"* maxNodes:最大节点数量",
|
|
34493
|
+
"",
|
|
34494
|
+
"* maxMemory:最大内存,单位为 GB",
|
|
34495
|
+
"",
|
|
34496
|
+
"* maxCores:最大内核数",
|
|
34497
|
+
"",
|
|
34498
|
+
"该函数只能由管理员在 License Server 上调用。"
|
|
34499
|
+
]
|
|
34500
|
+
}
|
|
34501
|
+
]
|
|
34502
|
+
},
|
|
34503
|
+
{
|
|
34504
|
+
"title": "例子",
|
|
34505
|
+
"type": "example",
|
|
34506
|
+
"children": [
|
|
34507
|
+
{
|
|
34508
|
+
"type": "code",
|
|
34509
|
+
"language": "console",
|
|
34510
|
+
"value": [
|
|
34511
|
+
"",
|
|
34512
|
+
" $ getLicenseServerResourceInfo()",
|
|
34513
|
+
" expiration->2023.03.10",
|
|
34514
|
+
" availableCores->10",
|
|
34515
|
+
" availableMemory->52",
|
|
34516
|
+
" maxNodes->4",
|
|
34517
|
+
" maxMemory->64",
|
|
34518
|
+
" maxCores->16"
|
|
34519
|
+
]
|
|
34520
|
+
}
|
|
34521
|
+
]
|
|
34522
|
+
}
|
|
34523
|
+
]
|
|
34524
|
+
},
|
|
34304
34525
|
"getMachineFingerprint": {
|
|
34305
34526
|
"title": "getMachineFingerprint",
|
|
34306
34527
|
"type": "command",
|
|
@@ -34524,7 +34745,10 @@
|
|
|
34524
34745
|
{
|
|
34525
34746
|
"type": "text",
|
|
34526
34747
|
"value": [
|
|
34527
|
-
"
|
|
34748
|
+
"返回当前节点已分配的内存和未使用的内存。返回一个字典其 key 值的含义为:",
|
|
34749
|
+
"",
|
|
34750
|
+
"* freeBytes:当前节点已分配的内存,单位为字节。 ",
|
|
34751
|
+
"* allocatedBytes:当前节点未使用的内存,单位为字节。 "
|
|
34528
34752
|
]
|
|
34529
34753
|
}
|
|
34530
34754
|
]
|
|
@@ -35428,7 +35652,42 @@
|
|
|
35428
35652
|
{
|
|
35429
35653
|
"type": "text",
|
|
35430
35654
|
"value": [
|
|
35431
|
-
"取得本地节点上最近N
|
|
35655
|
+
"取得本地节点上最近N个批处理作业的状态。",
|
|
35656
|
+
"",
|
|
35657
|
+
"返回一个表,包含以下字段:",
|
|
35658
|
+
"",
|
|
35659
|
+
"+--------------+--------------------------------------------+",
|
|
35660
|
+
"| 参数 | 含义 |",
|
|
35661
|
+
"+==============+============================================+",
|
|
35662
|
+
"| node | 本地节点的别名。 |",
|
|
35663
|
+
"+--------------+--------------------------------------------+",
|
|
35664
|
+
"| userID | 提交作业任务的用户 ID。 |",
|
|
35665
|
+
"+--------------+--------------------------------------------+",
|
|
35666
|
+
"| jobId | 在提交批作业时指定的作业名。 |",
|
|
35667
|
+
"+--------------+--------------------------------------------+",
|
|
35668
|
+
"| rootJobId | 系统中作业的唯一标识。 |",
|
|
35669
|
+
"+--------------+--------------------------------------------+",
|
|
35670
|
+
"| jobDesc | 用于描述作业的字符串。 |",
|
|
35671
|
+
"+--------------+--------------------------------------------+",
|
|
35672
|
+
"| priority | 作业的优先级,为 0-9 之间的整数。 |",
|
|
35673
|
+
"+--------------+--------------------------------------------+",
|
|
35674
|
+
"| parallelism | 作业的并行度,即分配给该作业的线程数上限。 |",
|
|
35675
|
+
"+--------------+--------------------------------------------+",
|
|
35676
|
+
"| clientIp | 发起作业任务的客户端 IP。 |",
|
|
35677
|
+
"+--------------+--------------------------------------------+",
|
|
35678
|
+
"| clientPort | 发起作业任务的客户端端口号。 |",
|
|
35679
|
+
"+--------------+--------------------------------------------+",
|
|
35680
|
+
"| receivedTime | 作业接收的时间,为 TIMESTAMP 类型。 |",
|
|
35681
|
+
"+--------------+--------------------------------------------+",
|
|
35682
|
+
"| startTime | 作业开始时间,为 TIMESTAMP 类型。 |",
|
|
35683
|
+
"+--------------+--------------------------------------------+",
|
|
35684
|
+
"| endTime | 作业结束时间,为 TIMESTAMP 类型。 |",
|
|
35685
|
+
"+--------------+--------------------------------------------+",
|
|
35686
|
+
"| errorMessage | 报错信息。 |",
|
|
35687
|
+
"+--------------+--------------------------------------------+",
|
|
35688
|
+
"",
|
|
35689
|
+
"",
|
|
35690
|
+
"详情请参考 :doc:`/SystemManagement/BatchJobManagement`。"
|
|
35432
35691
|
]
|
|
35433
35692
|
}
|
|
35434
35693
|
]
|
|
@@ -35689,6 +35948,88 @@
|
|
|
35689
35948
|
}
|
|
35690
35949
|
]
|
|
35691
35950
|
},
|
|
35951
|
+
"getRegisteredNodeInfo": {
|
|
35952
|
+
"title": "getRegisteredNodeInfo",
|
|
35953
|
+
"type": "function",
|
|
35954
|
+
"children": [
|
|
35955
|
+
{
|
|
35956
|
+
"title": "语法",
|
|
35957
|
+
"type": "grammer",
|
|
35958
|
+
"children": [
|
|
35959
|
+
{
|
|
35960
|
+
"type": "text",
|
|
35961
|
+
"value": [
|
|
35962
|
+
"getRegisteredNodeInfo()"
|
|
35963
|
+
]
|
|
35964
|
+
}
|
|
35965
|
+
]
|
|
35966
|
+
},
|
|
35967
|
+
{
|
|
35968
|
+
"title": "参数",
|
|
35969
|
+
"type": "parameters",
|
|
35970
|
+
"children": [
|
|
35971
|
+
{
|
|
35972
|
+
"type": "text",
|
|
35973
|
+
"value": [
|
|
35974
|
+
"无"
|
|
35975
|
+
]
|
|
35976
|
+
}
|
|
35977
|
+
]
|
|
35978
|
+
},
|
|
35979
|
+
{
|
|
35980
|
+
"title": "详情",
|
|
35981
|
+
"type": "detail",
|
|
35982
|
+
"children": [
|
|
35983
|
+
{
|
|
35984
|
+
"type": "text",
|
|
35985
|
+
"value": [
|
|
35986
|
+
"获取在 License Server 上注册的各个节点,及所在物理机的信息,返回一个张表,包括以下列:",
|
|
35987
|
+
"",
|
|
35988
|
+
"* type:node 或 machine",
|
|
35989
|
+
"",
|
|
35990
|
+
"* host:主机地址",
|
|
35991
|
+
"",
|
|
35992
|
+
"* port:type 是 node 时,为该节点的端口号,否则为空",
|
|
35993
|
+
"",
|
|
35994
|
+
"* alias:type 是 node 时,为该节点别名,否则为空",
|
|
35995
|
+
"",
|
|
35996
|
+
"* usedMem:节点或物理机已使用内存",
|
|
35997
|
+
"",
|
|
35998
|
+
"* usedCores:节点或物理机已使用内核数量",
|
|
35999
|
+
"",
|
|
36000
|
+
"* bindCores:节点绑定的 CPU 内核编号",
|
|
36001
|
+
"",
|
|
36002
|
+
"* lastUpdate:type 是 node 时,表述最后一次给节点分配资源的时间;type 是 machine 时,表示最后一次给物理机上所有节点分配资源时间",
|
|
36003
|
+
"",
|
|
36004
|
+
"该函数只能由管理员在 licenseServer 上调用。"
|
|
36005
|
+
]
|
|
36006
|
+
}
|
|
36007
|
+
]
|
|
36008
|
+
},
|
|
36009
|
+
{
|
|
36010
|
+
"title": "例子",
|
|
36011
|
+
"type": "example",
|
|
36012
|
+
"children": [
|
|
36013
|
+
{
|
|
36014
|
+
"type": "code",
|
|
36015
|
+
"language": "console",
|
|
36016
|
+
"value": [
|
|
36017
|
+
"",
|
|
36018
|
+
" $ getRegisteredNodeInfo()",
|
|
36019
|
+
" type \thost\t port\talias\t usedMem\t usedCores\tbindCores\tlastedUpdateTime",
|
|
36020
|
+
" node\t10.6.0.12\t33,795\ttest33\t 4\t 2\t\t 2023.02.15T15:23:54.487",
|
|
36021
|
+
" node\t10.6.0.12\t33,785\tdatanode3\t4\t 2\t\t 2023.02.15T15:11:48.454",
|
|
36022
|
+
" machine\t10.6.0.12\t\t\t 8\t 4\t\t 2023.02.15T15:23:54.487",
|
|
36023
|
+
" node\t10.6.0.11\t33,782\tdatanode1\t4\t 2\t\t 2023.02.15T11:47:27.534",
|
|
36024
|
+
" node\t10.6.0.11\t33,780\tcontroller1\t4\t 2\t\t 2023.02.15T11:30:07.358",
|
|
36025
|
+
" machine\t10.6.0.11\t\t\t 8\t 4\t\t 2023.02.15T11:47:27.534",
|
|
36026
|
+
""
|
|
36027
|
+
]
|
|
36028
|
+
}
|
|
36029
|
+
]
|
|
36030
|
+
}
|
|
36031
|
+
]
|
|
36032
|
+
},
|
|
35692
36033
|
"getRightStream": {
|
|
35693
36034
|
"title": "getRightStream",
|
|
35694
36035
|
"type": "function",
|
|
@@ -35775,7 +36116,35 @@
|
|
|
35775
36116
|
{
|
|
35776
36117
|
"type": "text",
|
|
35777
36118
|
"value": [
|
|
35778
|
-
"
|
|
36119
|
+
"获取本地节点上正在执行的查询任务的描述信息。",
|
|
36120
|
+
"",
|
|
36121
|
+
"返回一张表,包含以下字段:",
|
|
36122
|
+
"",
|
|
36123
|
+
"+-----------+---------------------------------------------------------------------------------------------------------+",
|
|
36124
|
+
"| 参数 | 含义 |",
|
|
36125
|
+
"+===========+=========================================================================================================+",
|
|
36126
|
+
"| userID | 用户 ID 。 |",
|
|
36127
|
+
"+-----------+---------------------------------------------------------------------------------------------------------+",
|
|
36128
|
+
"| sessionID | 发起查询的会话 ID。 |",
|
|
36129
|
+
"+-----------+---------------------------------------------------------------------------------------------------------+",
|
|
36130
|
+
"| jobID | 系统中查询任务的唯一标识。 |",
|
|
36131
|
+
"+-----------+---------------------------------------------------------------------------------------------------------+",
|
|
36132
|
+
"| rootID | 当前任务所属根任务的 jobID。 |",
|
|
36133
|
+
"+-----------+---------------------------------------------------------------------------------------------------------+",
|
|
36134
|
+
"| level | 任务的级别。根任务的 level 为 0,其分解的子任务 level 为 1,该子任务分解的子任务 level 为 2,以此类推。 |",
|
|
36135
|
+
"+-----------+---------------------------------------------------------------------------------------------------------+",
|
|
36136
|
+
"| startTime | 查询任务开始时间,为 NANOTIMESTAMP 类型。 |",
|
|
36137
|
+
"+-----------+---------------------------------------------------------------------------------------------------------+",
|
|
36138
|
+
"| endTime | 查询任务结束时间,为 NANOTIMESTAMP 类型。 |",
|
|
36139
|
+
"+-----------+---------------------------------------------------------------------------------------------------------+",
|
|
36140
|
+
"| jobDesc | 查询语句描述。 |",
|
|
36141
|
+
"+-----------+---------------------------------------------------------------------------------------------------------+",
|
|
36142
|
+
"| errorMsg | 报错信息。 |",
|
|
36143
|
+
"+-----------+---------------------------------------------------------------------------------------------------------+",
|
|
36144
|
+
"| remoteIP | 发起查询的客户端 IP。 |",
|
|
36145
|
+
"+-----------+---------------------------------------------------------------------------------------------------------+",
|
|
36146
|
+
"",
|
|
36147
|
+
"使用该函数之前,必须设定参数 *perfMonitoring* = 1 来启用性能监控。"
|
|
35779
36148
|
]
|
|
35780
36149
|
}
|
|
35781
36150
|
]
|
|
@@ -35843,7 +36212,29 @@
|
|
|
35843
36212
|
{
|
|
35844
36213
|
"type": "text",
|
|
35845
36214
|
"value": [
|
|
35846
|
-
"以表格的形式返回定时任务。如果jobIdPattern没有指定,返回所有已有的定时作业。"
|
|
36215
|
+
"以表格的形式返回定时任务。如果jobIdPattern没有指定,返回所有已有的定时作业。",
|
|
36216
|
+
"",
|
|
36217
|
+
"包含以下字段:",
|
|
36218
|
+
"",
|
|
36219
|
+
"+---------------+--------------------------------------------------+",
|
|
36220
|
+
"| 参数 | 含义 |",
|
|
36221
|
+
"+===============+==================================================+",
|
|
36222
|
+
"| userId | 用户 ID。 |",
|
|
36223
|
+
"+---------------+--------------------------------------------------+",
|
|
36224
|
+
"| jobId | 在提交定时作业时指定的作业名。 |",
|
|
36225
|
+
"+---------------+--------------------------------------------------+",
|
|
36226
|
+
"| jobDesc | 作业描述。 |",
|
|
36227
|
+
"+---------------+--------------------------------------------------+",
|
|
36228
|
+
"| startDate | 定时作业的开始日期,为 DATE 类型。 |",
|
|
36229
|
+
"+---------------+--------------------------------------------------+",
|
|
36230
|
+
"| endDate | 定时作业的结束日期,为 DATE 类型。 |",
|
|
36231
|
+
"+---------------+--------------------------------------------------+",
|
|
36232
|
+
"| frequency | 定时作业的执行频率。 |",
|
|
36233
|
+
"+---------------+--------------------------------------------------+",
|
|
36234
|
+
"| scheduledTime | 定时作业的执行间隔,为 MINUTE 类型。 |",
|
|
36235
|
+
"+---------------+--------------------------------------------------+",
|
|
36236
|
+
"| days | frequency 为 'W' 或 'M' 时,执行定时任务的日期。 |",
|
|
36237
|
+
"+---------------+--------------------------------------------------+"
|
|
35847
36238
|
]
|
|
35848
36239
|
}
|
|
35849
36240
|
]
|
|
@@ -35912,7 +36303,53 @@
|
|
|
35912
36303
|
{
|
|
35913
36304
|
"type": "text",
|
|
35914
36305
|
"value": [
|
|
35915
|
-
"
|
|
36306
|
+
"获取会话的内存占用状态,返回一张表包含以下字段:",
|
|
36307
|
+
"",
|
|
36308
|
+
"+----------------+---------------------------------------------------+",
|
|
36309
|
+
"| 参数 | 含义 |",
|
|
36310
|
+
"+================+===================================================+",
|
|
36311
|
+
"| userId | 用户 ID 或缓存类型的标识符(形如:\\_\\_xxx\\_\\_)。 |",
|
|
36312
|
+
"+----------------+---------------------------------------------------+",
|
|
36313
|
+
"| sessionId | 会话 ID。 |",
|
|
36314
|
+
"+----------------+---------------------------------------------------+",
|
|
36315
|
+
"| memSize | 会话所占用的内存,单位为字节。 |",
|
|
36316
|
+
"+----------------+---------------------------------------------------+",
|
|
36317
|
+
"| remoteIP | 发起会话的客户端的 IP。 |",
|
|
36318
|
+
"+----------------+---------------------------------------------------+",
|
|
36319
|
+
"| remotePort | 发起会话的客户端的端口号。 |",
|
|
36320
|
+
"+----------------+---------------------------------------------------+",
|
|
36321
|
+
"| createTime | 会话创建的时间,为 TIMESTAMP 类型。 |",
|
|
36322
|
+
"+----------------+---------------------------------------------------+",
|
|
36323
|
+
"| lastActiveTime | 会话最近一次执行脚本的时间戳。 |",
|
|
36324
|
+
"+----------------+---------------------------------------------------+",
|
|
36325
|
+
"",
|
|
36326
|
+
"缓存类型说明:",
|
|
36327
|
+
"",
|
|
36328
|
+
"+------------------------------+-----------------------------------------------------+",
|
|
36329
|
+
"| 缓存类型 | 含义 |",
|
|
36330
|
+
"+==============================+=====================================================+",
|
|
36331
|
+
"| \\_\\_DimensionalTable\\_\\_ | 维度表缓存,单位为 Bytes。 |",
|
|
36332
|
+
"+------------------------------+-----------------------------------------------------+",
|
|
36333
|
+
"| \\_\\_SharedTable\\_\\_ | 共享表缓存,单位为 Bytes。 |",
|
|
36334
|
+
"+------------------------------+-----------------------------------------------------+",
|
|
36335
|
+
"| \\_\\_OLAPTablet\\_\\_ | OLAP 引擎数据库表的缓存,单位为 Bytes。 |",
|
|
36336
|
+
"+------------------------------+-----------------------------------------------------+",
|
|
36337
|
+
"| \\_\\_OLAPCacheEngine\\_\\_ | OLAP 引擎 cache engine 的内存占用,单位为 Bytes。 |",
|
|
36338
|
+
"+------------------------------+-----------------------------------------------------+",
|
|
36339
|
+
"| \\_\\_OLAPCachedSymbolBase\\_\\_ | OLAP 引擎 SYMBOL 类型字典编码的缓存,单位为 Bytes。 |",
|
|
36340
|
+
"+------------------------------+-----------------------------------------------------+",
|
|
36341
|
+
"| \\_\\_DFSMetadata\\_\\_ | 分布式存储的元数据缓存,单位为 Bytes。 |",
|
|
36342
|
+
"+------------------------------+-----------------------------------------------------+",
|
|
36343
|
+
"| \\_\\_TSDBCacheEngine\\_\\_ | TSDB 引擎 cache engine 的内存占用,单位为 Bytes。 |",
|
|
36344
|
+
"+------------------------------+-----------------------------------------------------+",
|
|
36345
|
+
"| \\_\\_TSDBLevelFileIndex\\_\\_ | TSDB 引擎 level file 索引的缓存,单位为 Bytes。 |",
|
|
36346
|
+
"+------------------------------+-----------------------------------------------------+",
|
|
36347
|
+
"| \\_\\_TSDBCachedSymbolBase\\_\\_ | TSDB 引擎 SYMBOL 类型字典编码的缓存,单位为 Bytes。 |",
|
|
36348
|
+
"+------------------------------+-----------------------------------------------------+",
|
|
36349
|
+
"| \\_\\_StreamingPubQueue\\_\\_ | 流数据发布队列里未处理的消息数。 |",
|
|
36350
|
+
"+------------------------------+-----------------------------------------------------+",
|
|
36351
|
+
"| \\_\\_StreamingSubQueue\\_\\_ | 流数据订阅队列里未处理的消息数。 |",
|
|
36352
|
+
"+------------------------------+-----------------------------------------------------+",
|
|
35916
36353
|
"",
|
|
35917
36354
|
"注:此函数无法统计到会话中正在执行的任务所占用的内存情况。",
|
|
35918
36355
|
"",
|
|
@@ -35938,12 +36375,33 @@
|
|
|
35938
36375
|
{
|
|
35939
36376
|
"type": "text",
|
|
35940
36377
|
"value": [
|
|
35941
|
-
"
|
|
35942
|
-
"userId
|
|
35943
|
-
"
|
|
35944
|
-
"
|
|
35945
|
-
"
|
|
35946
|
-
"
|
|
36378
|
+
"=========================== ============ ======== ============== ========== =========================== ========================= ",
|
|
36379
|
+
"userId sessionId memSize remoteIP remotePort createTime lastActiveTime ",
|
|
36380
|
+
"=========================== ============ ======== ============== ========== =========================== ========================= ",
|
|
36381
|
+
"__DimensionalTable__ 0 0.0.0.0 ",
|
|
36382
|
+
"",
|
|
36383
|
+
"__SharedTable__ 0 0.0.0.0 ",
|
|
36384
|
+
"",
|
|
36385
|
+
"__OLAPTablet__ 0 0.0.0.0 ",
|
|
36386
|
+
"",
|
|
36387
|
+
"__OLAPCacheEngine__ 0 0.0.0.0 ",
|
|
36388
|
+
"",
|
|
36389
|
+
"__OLAPCachedSymbolBa... 0 0.0.0.0 ",
|
|
36390
|
+
"",
|
|
36391
|
+
"__DFSMetadata__ 2769 0.0.0.0 ",
|
|
36392
|
+
"",
|
|
36393
|
+
"__TSDBCacheEngine__ 0 0.0.0.0 ",
|
|
36394
|
+
"",
|
|
36395
|
+
"__TSDBLevelFileIndex__ 0 0.0.0.0 ",
|
|
36396
|
+
"",
|
|
36397
|
+
"__TSDBCachedSymbolBa... 0 0.0.0.0 ",
|
|
36398
|
+
"",
|
|
36399
|
+
"__StreamingPubQueue__ 0 0.0.0.0 ",
|
|
36400
|
+
"",
|
|
36401
|
+
"__StreamingSubQueue__ 0 0.0.0.0 ",
|
|
36402
|
+
"",
|
|
36403
|
+
"admin 2882591513 1416 60.176.105.0 20861 2023.02.15T02:15:22.384 2023.02.15T02:24:16.307",
|
|
36404
|
+
"=========================== ============ ======== ============== ========== =========================== ========================= ",
|
|
35947
36405
|
""
|
|
35948
36406
|
]
|
|
35949
36407
|
},
|
|
@@ -35952,20 +36410,40 @@
|
|
|
35952
36410
|
"language": "console",
|
|
35953
36411
|
"value": [
|
|
35954
36412
|
"",
|
|
35955
|
-
" $ update t set createTime=localtime(createTime), lastActiveTime=localtime(lastActiveTime)
|
|
35956
|
-
" $ t;",
|
|
36413
|
+
" $ update t set createTime=localtime(createTime), lastActiveTime=localtime(lastActiveTime) where not userId like \"__%__\"",
|
|
35957
36414
|
""
|
|
35958
36415
|
]
|
|
35959
36416
|
},
|
|
35960
36417
|
{
|
|
35961
36418
|
"type": "text",
|
|
35962
36419
|
"value": [
|
|
35963
|
-
"
|
|
35964
|
-
"userId
|
|
35965
|
-
"
|
|
35966
|
-
"
|
|
35967
|
-
"
|
|
35968
|
-
"
|
|
36420
|
+
"================================= ============ ======== ============== ========== ======================= ========================= ",
|
|
36421
|
+
"userId sessionId memSize remoteIP remotePort createTime lastActiveTime ",
|
|
36422
|
+
"================================= ============ ======== ============== ========== ======================= =========================",
|
|
36423
|
+
"__DimensionalTable__ 0 0.0.0.0 ",
|
|
36424
|
+
"",
|
|
36425
|
+
"__SharedTable__ 0 0.0.0.0 ",
|
|
36426
|
+
"",
|
|
36427
|
+
"__OLAPTablet__ 0 0.0.0.0 ",
|
|
36428
|
+
"",
|
|
36429
|
+
"__OLAPCacheEngine__ 0 0.0.0.0 ",
|
|
36430
|
+
"",
|
|
36431
|
+
"__OLAPCachedSymbolBa... 0 0.0.0.0 ",
|
|
36432
|
+
"",
|
|
36433
|
+
"__DFSMetadata__ 2769 0.0.0.0 ",
|
|
36434
|
+
"",
|
|
36435
|
+
"__TSDBCacheEngine__ 0 0.0.0.0 ",
|
|
36436
|
+
"",
|
|
36437
|
+
"__TSDBLevelFileIndex__ 0 0.0.0.0 ",
|
|
36438
|
+
"",
|
|
36439
|
+
"__TSDBCachedSymbolBa... 0 0.0.0.0 ",
|
|
36440
|
+
"",
|
|
36441
|
+
"__StreamingPubQueue__ 0 0.0.0.0 ",
|
|
36442
|
+
"",
|
|
36443
|
+
"__StreamingSubQueue__ 0 0.0.0.0 ",
|
|
36444
|
+
"",
|
|
36445
|
+
"admin 1195587396 1416 60.176.105.0 20874 2023.02.14T21:26:14.004 2023.02.14T21:27:27.463",
|
|
36446
|
+
"================================= ============ ======== ============== ========== ======================= ========================= "
|
|
35969
36447
|
]
|
|
35970
36448
|
}
|
|
35971
36449
|
]
|
|
@@ -36837,7 +37315,7 @@
|
|
|
36837
37315
|
"| DB AND TABLE SCHEMA | 所有数据库和表的结构。 | ``schema`` |",
|
|
36838
37316
|
"+----------------------+--------------------------------------------------------------------------------+-----------------------------------------+",
|
|
36839
37317
|
"| LICENSE AND MACHINE | license、机器核数和内存信息。 | 许可证: dolphindb.lic |",
|
|
36840
|
-
"| INFO |
|
|
37318
|
+
"| INFO | 节点绑定的 CPU 内核绑定和端口信息。 | |",
|
|
36841
37319
|
"+----------------------+--------------------------------------------------------------------------------+-----------------------------------------+",
|
|
36842
37320
|
"| OLAP CACHE ENGINE | OLAP 引擎 cache Engine 的状态信息,包含各节点的内存信息以及当前节点的状态表。 | ``pnodeRun(getOLAPCacheEngineSize)`` |",
|
|
36843
37321
|
"| STATUS | | ``pnodeRun(getOLAPCacheEngineStat)`` |",
|
|
@@ -36916,7 +37394,9 @@
|
|
|
36916
37394
|
{
|
|
36917
37395
|
"type": "text",
|
|
36918
37396
|
"value": [
|
|
36919
|
-
"
|
|
37397
|
+
"返回当前节点上DolphinDB进程实时占用 CPU 的百分比。",
|
|
37398
|
+
"",
|
|
37399
|
+
"注意,若 DolphinDB 进程占用多个 CPU,则返回各个 CPU 占用率的总和。"
|
|
36920
37400
|
]
|
|
36921
37401
|
}
|
|
36922
37402
|
]
|
|
@@ -37467,7 +37947,7 @@
|
|
|
37467
37947
|
"",
|
|
37468
37948
|
"`tableName` 是字符串,表示数据表名。",
|
|
37469
37949
|
"",
|
|
37470
|
-
"`diskUsage` 是一个Boolean值,表示结果是否输出磁盘占用。",
|
|
37950
|
+
"`diskUsage` 是一个Boolean 值,表示结果是否输出磁盘占用。",
|
|
37471
37951
|
"",
|
|
37472
37952
|
"`top` 是一个正整数,表示结果中返回的chunk的个数上限。默认值为1024。若不设上限,需将 top 参数设为-1。"
|
|
37473
37953
|
]
|
|
@@ -37493,7 +37973,7 @@
|
|
|
37493
37973
|
"* rowNum: 分区的记录条数",
|
|
37494
37974
|
"* createCids:update/delete表时创建的版本号",
|
|
37495
37975
|
"* latestPhysicalDir:最新版本号(cid)对应的存储数据的临时物理路径",
|
|
37496
|
-
"* diskUsage
|
|
37976
|
+
"* diskUsage:分区占用的磁盘空间,单位为字节。"
|
|
37497
37977
|
]
|
|
37498
37978
|
}
|
|
37499
37979
|
]
|
|
@@ -37764,116 +38244,6 @@
|
|
|
37764
38244
|
}
|
|
37765
38245
|
]
|
|
37766
38246
|
},
|
|
37767
|
-
"getUserAccess": {
|
|
37768
|
-
"title": "getUserAccess",
|
|
37769
|
-
"type": "function",
|
|
37770
|
-
"children": [
|
|
37771
|
-
{
|
|
37772
|
-
"title": "语法",
|
|
37773
|
-
"type": "grammer",
|
|
37774
|
-
"children": [
|
|
37775
|
-
{
|
|
37776
|
-
"type": "text",
|
|
37777
|
-
"value": [
|
|
37778
|
-
"getUserAccess([userIds])"
|
|
37779
|
-
]
|
|
37780
|
-
}
|
|
37781
|
-
]
|
|
37782
|
-
},
|
|
37783
|
-
{
|
|
37784
|
-
"title": "参数",
|
|
37785
|
-
"type": "parameters",
|
|
37786
|
-
"children": [
|
|
37787
|
-
{
|
|
37788
|
-
"type": "text",
|
|
37789
|
-
"value": [
|
|
37790
|
-
"`userId` 是表示一个或多个用户的字符串标量或向量。"
|
|
37791
|
-
]
|
|
37792
|
-
}
|
|
37793
|
-
]
|
|
37794
|
-
},
|
|
37795
|
-
{
|
|
37796
|
-
"title": "详情",
|
|
37797
|
-
"type": "detail",
|
|
37798
|
-
"children": [
|
|
37799
|
-
{
|
|
37800
|
-
"type": "text",
|
|
37801
|
-
"value": [
|
|
37802
|
-
"返回指定用户所单独被赋予的权限,不包括用户所属组的权限。",
|
|
37803
|
-
"",
|
|
37804
|
-
"当没有指定userId时,返回当前登录用户的权限。只有管理员能够使用该函数来获取其他用户的权限。",
|
|
37805
|
-
"",
|
|
37806
|
-
"以下分别介绍返回表的各参数的详情:",
|
|
37807
|
-
"",
|
|
37808
|
-
"+------------------+----------------------------------------------------------------------------------------+",
|
|
37809
|
-
"| 参数 | 详情 |",
|
|
37810
|
-
"+==================+========================================================================================+",
|
|
37811
|
-
"| userId | 用户名 |",
|
|
37812
|
-
"+------------------+----------------------------------------------------------------------------------------+",
|
|
37813
|
-
"| groups | 组名 |",
|
|
37814
|
-
"+------------------+----------------------------------------------------------------------------------------+",
|
|
37815
|
-
"| isAdmin | 是否是管理员 |",
|
|
37816
|
-
"+------------------+----------------------------------------------------------------------------------------+",
|
|
37817
|
-
"| MAX_JOB_PRIORITY | 该用户对应的作业最高优先级,范围是0-8,可以通过 setMaxJobPriority 指定 |",
|
|
37818
|
-
"+------------------+----------------------------------------------------------------------------------------+",
|
|
37819
|
-
"| MAX_PARALLELISM | 该用户提交的作业最多可以有多少个子任务同时并行执行,可以通过 setMaxJobParallelism 指定 |",
|
|
37820
|
-
"+------------------+----------------------------------------------------------------------------------------+",
|
|
37821
|
-
"",
|
|
37822
|
-
"以下九个字段对应九种权限,其值为 “allow\" / \"none\" / \"deny\" :",
|
|
37823
|
-
"",
|
|
37824
|
-
"+--------------+",
|
|
37825
|
-
"|权限 |",
|
|
37826
|
-
"+==============+",
|
|
37827
|
-
"| TABLE_READ |",
|
|
37828
|
-
"+--------------+",
|
|
37829
|
-
"| TABLE_WRITE |",
|
|
37830
|
-
"+--------------+",
|
|
37831
|
-
"| VIEW_EXEC |",
|
|
37832
|
-
"+--------------+",
|
|
37833
|
-
"| SCRIPT_EXEC |",
|
|
37834
|
-
"+--------------+",
|
|
37835
|
-
"| TEST_EXEC |",
|
|
37836
|
-
"+--------------+",
|
|
37837
|
-
"| DBOBJ_CREATE |",
|
|
37838
|
-
"+--------------+",
|
|
37839
|
-
"| DBOBJ_DELETE |",
|
|
37840
|
-
"+--------------+",
|
|
37841
|
-
"| DB_MANAGE |",
|
|
37842
|
-
"+--------------+",
|
|
37843
|
-
"| DB_OWNER |",
|
|
37844
|
-
"+--------------+",
|
|
37845
|
-
"",
|
|
37846
|
-
"以下几个字段表示权限应用的具体对象:",
|
|
37847
|
-
"",
|
|
37848
|
-
"+----------------------+",
|
|
37849
|
-
"| 对象 |",
|
|
37850
|
-
"+======================+",
|
|
37851
|
-
"| TABLE_READ_allowed |",
|
|
37852
|
-
"+----------------------+",
|
|
37853
|
-
"| TABLE_READ_denied |",
|
|
37854
|
-
"+----------------------+",
|
|
37855
|
-
"| TABLE_WRITE_allowed |",
|
|
37856
|
-
"+----------------------+",
|
|
37857
|
-
"| TABLE_WRITE_denied |",
|
|
37858
|
-
"+----------------------+",
|
|
37859
|
-
"| VIEW_EXEC_allowed |",
|
|
37860
|
-
"+----------------------+",
|
|
37861
|
-
"| VIEW_EXEC_denied |",
|
|
37862
|
-
"+----------------------+",
|
|
37863
|
-
"| DBOBJ_CREATE_allowed |",
|
|
37864
|
-
"+----------------------+",
|
|
37865
|
-
"| DBOBJ_CREATE_denied |",
|
|
37866
|
-
"+----------------------+",
|
|
37867
|
-
"| DBOBJ_DELETE_allowed |",
|
|
37868
|
-
"+----------------------+",
|
|
37869
|
-
"| DBOBJ_DELETE_denied |",
|
|
37870
|
-
"+----------------------+"
|
|
37871
|
-
]
|
|
37872
|
-
}
|
|
37873
|
-
]
|
|
37874
|
-
}
|
|
37875
|
-
]
|
|
37876
|
-
},
|
|
37877
38247
|
"getUserList": {
|
|
37878
38248
|
"title": "getUserList",
|
|
37879
38249
|
"type": "function",
|
|
@@ -37897,7 +38267,7 @@
|
|
|
37897
38267
|
{
|
|
37898
38268
|
"type": "text",
|
|
37899
38269
|
"value": [
|
|
37900
|
-
"
|
|
38270
|
+
"返回包含除管理员之外的所有用户名称的向量。该函数只能由管理员在控制节点/数据节点上执行。"
|
|
37901
38271
|
]
|
|
37902
38272
|
}
|
|
37903
38273
|
]
|
|
@@ -37956,7 +38326,7 @@
|
|
|
37956
38326
|
{
|
|
37957
38327
|
"type": "text",
|
|
37958
38328
|
"value": [
|
|
37959
|
-
"
|
|
38329
|
+
"返回属于指定组的用户。该函数只能由管理员在控制节点/数据节点上执行。",
|
|
37960
38330
|
"",
|
|
37961
38331
|
""
|
|
37962
38332
|
]
|
|
@@ -38395,7 +38765,7 @@
|
|
|
38395
38765
|
{
|
|
38396
38766
|
"type": "text",
|
|
38397
38767
|
"value": [
|
|
38398
|
-
"grant(
|
|
38768
|
+
"grant(userId|groupId, accessType, [objs])"
|
|
38399
38769
|
]
|
|
38400
38770
|
}
|
|
38401
38771
|
]
|
|
@@ -38407,29 +38777,13 @@
|
|
|
38407
38777
|
{
|
|
38408
38778
|
"type": "text",
|
|
38409
38779
|
"value": [
|
|
38410
|
-
"`
|
|
38411
|
-
"",
|
|
38412
|
-
"`accessType` 是权限类型。包括以下9种权限:",
|
|
38780
|
+
"`userId` | `groupId` 是表示用户名或组名的字符串。",
|
|
38413
38781
|
"",
|
|
38414
|
-
"
|
|
38782
|
+
"`accessType` 权限类型/内存限制。",
|
|
38415
38783
|
"",
|
|
38416
|
-
"
|
|
38784
|
+
"`objs` 标量或向量,表示权限类型的应用对象/约束规则。",
|
|
38417
38785
|
"",
|
|
38418
|
-
"
|
|
38419
|
-
"",
|
|
38420
|
-
"4. DBOBJ_DELETE:删除某个数据库中的数据表",
|
|
38421
|
-
"",
|
|
38422
|
-
"5. VIEW_EXEC:执行某个视图",
|
|
38423
|
-
"",
|
|
38424
|
-
"6. DB_MANAGE:创建以及删除数据库。可删除任何人所建数据库,包括具有DB_OWNER权限之用户所建数据库。",
|
|
38425
|
-
"",
|
|
38426
|
-
"7. DB_OWNER:创建数据库并管理其创建的数据库,包括删除数据库、创建或删除数据表、增加或删除分区、可赋予、禁止或取消其他用户对自己创建的数据库的以下权限:TABLE_READ, TABLE_WRITE, DBOBJ_CREATE, DBOBJ_DELETE。",
|
|
38427
|
-
"",
|
|
38428
|
-
"8. SCRIPT_EXEC:执行脚本",
|
|
38429
|
-
"",
|
|
38430
|
-
"9. TEST_EXEC:执行测试脚本",
|
|
38431
|
-
"",
|
|
38432
|
-
"`objs` 是表示权限类型的应用对象。若权限类型为TABLE_READ, TABLE_WRITE, DBOBJ_CREATE, DBOBJ_DELETE或VIEW_EXEC, 它是一个必需参数。若权限类型为DB_MANAGE, DB_OWNER, SCRIPT_EXEC和TEST_EXEC, 它可以省略。"
|
|
38786
|
+
"*accessType* 和 *objs* 的取值请参照 :doc:`/SystemManagement/UserAccessControl` 权限类型表。"
|
|
38433
38787
|
]
|
|
38434
38788
|
}
|
|
38435
38789
|
]
|
|
@@ -38441,7 +38795,13 @@
|
|
|
38441
38795
|
{
|
|
38442
38796
|
"type": "text",
|
|
38443
38797
|
"value": [
|
|
38444
|
-
"
|
|
38798
|
+
"grant 函数执行以下操作:",
|
|
38799
|
+
"",
|
|
38800
|
+
"(1)授予某个用户或某个用户组权限。当 *accessType* = DB_OWNER 时,还支持约束某个用户只能创建指定前缀的数据库。",
|
|
38801
|
+
"",
|
|
38802
|
+
"(2)约束某个用户查询返回结果的内存上限(指定 *accessType* = QUERY_RESULT_MEM_LIMIT)和发送的批量子查询占用的内存上限(指定 *accessType* = TASK_GROUP_MEM_LIMIT)。其功能等效于 :doc:`/FunctionsandCommands/CommandsReferences/s/setMemLimitOfQueryResult` 函数和 :doc:`/FunctionsandCommands/CommandsReferences/s/setMemLimitOfTaskGroupResult` 函数,区别在于 grant 只对指定用户生效(暂不支持用户组),setMemLimitOfQueryResult 函数和 setMemLimitOfTaskGroupResult 函数对所有用户生效。",
|
|
38803
|
+
"",
|
|
38804
|
+
"该命令只能由管理员在控制节点/数据节点上执行。"
|
|
38445
38805
|
]
|
|
38446
38806
|
}
|
|
38447
38807
|
]
|
|
@@ -38542,7 +38902,53 @@
|
|
|
38542
38902
|
"language": "console",
|
|
38543
38903
|
"value": [
|
|
38544
38904
|
"",
|
|
38545
|
-
" $ grant(\"AlexSmith\", TEST_EXEC)"
|
|
38905
|
+
" $ grant(\"AlexSmith\", TEST_EXEC)",
|
|
38906
|
+
""
|
|
38907
|
+
]
|
|
38908
|
+
},
|
|
38909
|
+
{
|
|
38910
|
+
"type": "text",
|
|
38911
|
+
"value": [
|
|
38912
|
+
"约束用户查询所占用的内存:",
|
|
38913
|
+
"",
|
|
38914
|
+
"指定 accessType 为 QUERY_RESULT_MEM_LIMIT,此时 objs 表示限制的内存大小,单位为 GB。下述脚本限制用户 \"AlexSmith\" 查询时,查询结果所占用的内存大小不能超过 4 GB。 ",
|
|
38915
|
+
""
|
|
38916
|
+
]
|
|
38917
|
+
},
|
|
38918
|
+
{
|
|
38919
|
+
"type": "code",
|
|
38920
|
+
"language": "console",
|
|
38921
|
+
"value": [
|
|
38922
|
+
" ",
|
|
38923
|
+
" $ grant(\"AlexSmith\", QUERY_RESULT_MEM_LIMIT, 4)",
|
|
38924
|
+
" ",
|
|
38925
|
+
""
|
|
38926
|
+
]
|
|
38927
|
+
},
|
|
38928
|
+
{
|
|
38929
|
+
"type": "text",
|
|
38930
|
+
"value": [
|
|
38931
|
+
"约束用户只能创建指定前缀的数据库:",
|
|
38932
|
+
"",
|
|
38933
|
+
"假设需要创建名为 \"dbxxx\" 的 1000 个数据库,其中 \"xxx\" 为 000 到 999。管理员要求限制用户 \"AlexSmith\" 只能创建并管理 000~099 这 100 个数据库,可以通过以下脚本实现:",
|
|
38934
|
+
""
|
|
38935
|
+
]
|
|
38936
|
+
},
|
|
38937
|
+
{
|
|
38938
|
+
"type": "code",
|
|
38939
|
+
"language": "console",
|
|
38940
|
+
"value": [
|
|
38941
|
+
" ",
|
|
38942
|
+
" $ grant(\"AlexSmith\", DB_OWNER, \"dfs://db0*\")",
|
|
38943
|
+
""
|
|
38944
|
+
]
|
|
38945
|
+
},
|
|
38946
|
+
{
|
|
38947
|
+
"type": "text",
|
|
38948
|
+
"value": [
|
|
38949
|
+
"当指定 grant 函数的 accessType 为 DB_OWNER 时,可以指定 objs 为一个规则,目前仅支持约束用户可以创建的库名前缀,便于不同用户管理不同范围的数据库。",
|
|
38950
|
+
"",
|
|
38951
|
+
"注意:特定的约束规则,只能通过 grant 指定,且不能通过 deny/revoke 移除。当 accessType 为 DB_OWNER 时,deny/revoke 只能对全局生效。"
|
|
38546
38952
|
]
|
|
38547
38953
|
}
|
|
38548
38954
|
]
|
|
@@ -38578,7 +38984,19 @@
|
|
|
38578
38984
|
".. versionadded:: 2.00.3",
|
|
38579
38985
|
" 参数 *mode*",
|
|
38580
38986
|
"",
|
|
38581
|
-
"
|
|
38987
|
+
".. versionadded:: 2.00.9",
|
|
38988
|
+
" 参数 *mode* 支持 \"vector\", \"tuple\"",
|
|
38989
|
+
"",
|
|
38990
|
+
"`mode` 可选参数,用于指定 groups 返回值的数据形式,默认为\"dict\"。可指定为以下值:",
|
|
38991
|
+
"",
|
|
38992
|
+
"- \"dict\":返回一个字典。字典的 key 存储 *X* 中的独特值(unique value);字典的 value 为一个向量,存储该值在 *X* 中对应的下标。",
|
|
38993
|
+
"",
|
|
38994
|
+
"- \"table\":返回一个包含两列的表。字段为 \"key\" 和 \"index\",分别存储 *X* 中的独特值和其在 *X* 中对应的下标。",
|
|
38995
|
+
"",
|
|
38996
|
+
"- \"vector\":返回一个 array vector,按照 *X* 中独特值升序排列,存储每个独特值在 *X* 中对应的下标。",
|
|
38997
|
+
"",
|
|
38998
|
+
"- \"tuple\":返回一个 tuple,其存储方式同 mode=\"vector\"。",
|
|
38999
|
+
""
|
|
38582
39000
|
]
|
|
38583
39001
|
}
|
|
38584
39002
|
]
|
|
@@ -38615,6 +39033,12 @@
|
|
|
38615
39033
|
" 14->[7]",
|
|
38616
39034
|
" 15->[3,6]",
|
|
38617
39035
|
"",
|
|
39036
|
+
" $ groups(x, \"vector\")",
|
|
39037
|
+
" [[0,1,8,9],[2,4],[7],[3,6],[5]]",
|
|
39038
|
+
"",
|
|
39039
|
+
" $ groups(x, \"tuple\")",
|
|
39040
|
+
" ([0,1,8,9],[2,4],[7],[3,6],[5])",
|
|
39041
|
+
"",
|
|
38618
39042
|
" $ groups(x, \"table\")",
|
|
38619
39043
|
""
|
|
38620
39044
|
]
|
|
@@ -47942,7 +48366,37 @@
|
|
|
47942
48366
|
{
|
|
47943
48367
|
"type": "text",
|
|
47944
48368
|
"value": [
|
|
47945
|
-
"显示DolphinDB的许可证信息。"
|
|
48369
|
+
"显示 DolphinDB 的许可证信息。",
|
|
48370
|
+
"",
|
|
48371
|
+
"返回值说明:",
|
|
48372
|
+
"",
|
|
48373
|
+
"+------------------+---------------------------------------------------------------------------------------+",
|
|
48374
|
+
"| 参数 | 含义 |",
|
|
48375
|
+
"+==================+=======================================================================================+",
|
|
48376
|
+
"| authorization | 授权的类型:trial(试用版)/test(测试版)/commercial(商业版)。 |",
|
|
48377
|
+
"+------------------+---------------------------------------------------------------------------------------+",
|
|
48378
|
+
"| licenseType | 许可证验证类型,有以下可选值:1:机器指纹绑定 2:在线验证 0:其他方式 |",
|
|
48379
|
+
"+------------------+---------------------------------------------------------------------------------------+",
|
|
48380
|
+
"| maxMemoryPerNode | 每个节点的内存上限,单位为 GB。 |",
|
|
48381
|
+
"+------------------+---------------------------------------------------------------------------------------+",
|
|
48382
|
+
"| bindCores | 进程绑定的 CPU 内核的编号(从0开始)。注意,仅当 bindCPU 为 true 时有效。 |",
|
|
48383
|
+
"+------------------+---------------------------------------------------------------------------------------+",
|
|
48384
|
+
"| maxCoresPerNode | 每个节点允许最大 CPU 核数。 |",
|
|
48385
|
+
"+------------------+---------------------------------------------------------------------------------------+",
|
|
48386
|
+
"| clientName | 客户名称。 |",
|
|
48387
|
+
"+------------------+---------------------------------------------------------------------------------------+",
|
|
48388
|
+
"| port | 为节点绑定的端口号。仅 License Server 和连接它的节点会返回此字段。 |",
|
|
48389
|
+
"+------------------+---------------------------------------------------------------------------------------+",
|
|
48390
|
+
"| bindCPU | 进程是否绑定 CPU。 |",
|
|
48391
|
+
"+------------------+---------------------------------------------------------------------------------------+",
|
|
48392
|
+
"| expiration | 许可证到期时间。 |",
|
|
48393
|
+
"+------------------+---------------------------------------------------------------------------------------+",
|
|
48394
|
+
"| maxNodes | 集群允许的最大节点数。 |",
|
|
48395
|
+
"+------------------+---------------------------------------------------------------------------------------+",
|
|
48396
|
+
"| version | server 的版本号。用户只能使用不高于 version 版本的 server。若为空,则对版本没有限制。 |",
|
|
48397
|
+
"+------------------+---------------------------------------------------------------------------------------+",
|
|
48398
|
+
"| modules | 模块名。用户只能使用 modules 指定的模块。若为 -1 表示对使用的模块没有限制。 |",
|
|
48399
|
+
"+------------------+---------------------------------------------------------------------------------------+"
|
|
47946
48400
|
]
|
|
47947
48401
|
}
|
|
47948
48402
|
]
|
|
@@ -47957,15 +48411,17 @@
|
|
|
47957
48411
|
"value": [
|
|
47958
48412
|
"",
|
|
47959
48413
|
" $ license();",
|
|
47960
|
-
" authorization->
|
|
48414
|
+
" authorization->trial",
|
|
48415
|
+
" maxMemoryPerNode->128",
|
|
47961
48416
|
" licenseType->0",
|
|
47962
|
-
"
|
|
47963
|
-
" maxCoresPerNode->
|
|
47964
|
-
" clientName->
|
|
48417
|
+
" bindCores->0 1 3 5",
|
|
48418
|
+
" maxCoresPerNode->8",
|
|
48419
|
+
" clientName->test1",
|
|
48420
|
+
" port->",
|
|
47965
48421
|
" bindCPU->true",
|
|
47966
|
-
" expiration->
|
|
47967
|
-
" maxNodes->
|
|
47968
|
-
" version->",
|
|
48422
|
+
" expiration->2023.02.12",
|
|
48423
|
+
" maxNodes->6",
|
|
48424
|
+
" version->2.00",
|
|
47969
48425
|
" modules->-1"
|
|
47970
48426
|
]
|
|
47971
48427
|
}
|
|
@@ -51241,7 +51697,7 @@
|
|
|
51241
51697
|
{
|
|
51242
51698
|
"type": "text",
|
|
51243
51699
|
"value": [
|
|
51244
|
-
"
|
|
51700
|
+
"用户可在控制节点或数据节点/计算节点上登录。"
|
|
51245
51701
|
]
|
|
51246
51702
|
}
|
|
51247
51703
|
]
|
|
@@ -51456,6 +51912,8 @@
|
|
|
51456
51912
|
{
|
|
51457
51913
|
"type": "text",
|
|
51458
51914
|
"value": [
|
|
51915
|
+
"该函数可以在控制节点/数据节点/计算节点上执行。",
|
|
51916
|
+
"",
|
|
51459
51917
|
"如果没有指定 *userId*,用户自己退出登录。",
|
|
51460
51918
|
"",
|
|
51461
51919
|
"如果 *sessionOnly* 为true,用户只退出登录当前会话。",
|
|
@@ -52732,15 +53190,15 @@
|
|
|
52732
53190
|
{
|
|
52733
53191
|
"type": "text",
|
|
52734
53192
|
"value": [
|
|
52735
|
-
"相关函数::doc:`
|
|
53193
|
+
"相关函数::doc:`makeSortedKey`"
|
|
52736
53194
|
]
|
|
52737
53195
|
}
|
|
52738
53196
|
]
|
|
52739
53197
|
}
|
|
52740
53198
|
]
|
|
52741
53199
|
},
|
|
52742
|
-
"
|
|
52743
|
-
"title": "
|
|
53200
|
+
"makeSortedKey": {
|
|
53201
|
+
"title": "makeSortedKey",
|
|
52744
53202
|
"type": "function",
|
|
52745
53203
|
"children": [
|
|
52746
53204
|
{
|
|
@@ -52750,7 +53208,7 @@
|
|
|
52750
53208
|
{
|
|
52751
53209
|
"type": "text",
|
|
52752
53210
|
"value": [
|
|
52753
|
-
"
|
|
53211
|
+
"makeSortedKey(args...)"
|
|
52754
53212
|
]
|
|
52755
53213
|
}
|
|
52756
53214
|
]
|
|
@@ -52774,7 +53232,7 @@
|
|
|
52774
53232
|
{
|
|
52775
53233
|
"type": "text",
|
|
52776
53234
|
"value": [
|
|
52777
|
-
"对于输入的多个 *args*,将它们的值组合为一个 BLOB
|
|
53235
|
+
"对于输入的多个 *args*,将它们的值组合为一个 BLOB 标量或向量。相较于 makeKey,makeOrderedKey 内部会保存组合值的排序结果,但输出结果与 makeKey 相同。"
|
|
52778
53236
|
]
|
|
52779
53237
|
}
|
|
52780
53238
|
]
|
|
@@ -52788,19 +53246,10 @@
|
|
|
52788
53246
|
"language": "console",
|
|
52789
53247
|
"value": [
|
|
52790
53248
|
"",
|
|
52791
|
-
" $
|
|
52792
|
-
"
|
|
52793
|
-
"",
|
|
52794
|
-
" $ set(makeOrderedKey(1 2, 4 5))",
|
|
53249
|
+
" $ makeSortedKey([`b,`a,`c], [`4,`2,`1]) ",
|
|
53250
|
+
" [\"b4\",\"a2\",\"c1\"]",
|
|
52795
53251
|
"",
|
|
52796
|
-
" $
|
|
52797
|
-
""
|
|
52798
|
-
]
|
|
52799
|
-
},
|
|
52800
|
-
{
|
|
52801
|
-
"type": "text",
|
|
52802
|
-
"value": [
|
|
52803
|
-
"相关函数::doc:`makeKey`"
|
|
53252
|
+
" $ set(makeSortedKey(1 2, 4 5))"
|
|
52804
53253
|
]
|
|
52805
53254
|
}
|
|
52806
53255
|
]
|
|
@@ -72768,348 +73217,6 @@
|
|
|
72768
73217
|
}
|
|
72769
73218
|
]
|
|
72770
73219
|
},
|
|
72771
|
-
"replay": {
|
|
72772
|
-
"title": "replay",
|
|
72773
|
-
"type": "function",
|
|
72774
|
-
"children": [
|
|
72775
|
-
{
|
|
72776
|
-
"title": "语法",
|
|
72777
|
-
"type": "grammer",
|
|
72778
|
-
"children": [
|
|
72779
|
-
{
|
|
72780
|
-
"type": "text",
|
|
72781
|
-
"value": [
|
|
72782
|
-
"replay(inputTables, outputTables, [dateColumn], [timeColumn], [replayRate], [absoluteRate=true], [parallelLevel=1])"
|
|
72783
|
-
]
|
|
72784
|
-
}
|
|
72785
|
-
]
|
|
72786
|
-
},
|
|
72787
|
-
{
|
|
72788
|
-
"title": "详情",
|
|
72789
|
-
"type": "detail",
|
|
72790
|
-
"children": [
|
|
72791
|
-
{
|
|
72792
|
-
"type": "text",
|
|
72793
|
-
"value": [
|
|
72794
|
-
"按时间顺序将一个或多个数据表或数据源回放到数据表,以模拟流数据实时注入。如需回放历史数据, 可通过 :doc:`replayDS` 函数生成数据源来输入 replay 。",
|
|
72795
|
-
"",
|
|
72796
|
-
"根据输入表和输出表的映射关系(map),``replay`` 支持一对一,N 对一,N 对 N 三种回放形式。注意 N 对 N 回放时,若多表时间段存在重合,不能保证该段时间完全按时间序回放。",
|
|
72797
|
-
"",
|
|
72798
|
-
".. versionadded:: 2.00.5",
|
|
72799
|
-
" 异构回放",
|
|
72800
|
-
"",
|
|
72801
|
-
"对于 N 对一回放,2.00.5 版本前,输入表结构必须相同,称为同构回放。该版本后,replay 支持以字典的形式输入结构不同的表,称为异构回放。异构回放时,replay 的输出结果可以通过 :doc:`../s/streamFilter` 进行反序列化,并进行数据过滤和分离,详情请参考 :doc:`../s/streamFilter`。 ",
|
|
72802
|
-
"",
|
|
72803
|
-
"注意:进行多对一回放时,若 *inputTables* 为数据源,各数据源 size 以及其 *dateColumn* 列对应的时间范围必须保持一致。",
|
|
72804
|
-
"",
|
|
72805
|
-
"如需终止回放,使用 :doc:`../../CommandsReferences/c/cancelJob` 和 :doc:`../../CommandsReferences/c/cancelConsoleJob` 命令可以终止回放。",
|
|
72806
|
-
""
|
|
72807
|
-
]
|
|
72808
|
-
}
|
|
72809
|
-
]
|
|
72810
|
-
},
|
|
72811
|
-
{
|
|
72812
|
-
"title": "参数",
|
|
72813
|
-
"type": "parameters",
|
|
72814
|
-
"children": [
|
|
72815
|
-
{
|
|
72816
|
-
"type": "text",
|
|
72817
|
-
"value": [
|
|
72818
|
-
"`inputTables` 是未分区的内存表或 :doc:`replayDS` 函数生成的数据源。",
|
|
72819
|
-
"",
|
|
72820
|
-
"* 如果 *inputTables* 是单个或多个结构相同的表对象或数据源, 用标量或元组表示。",
|
|
72821
|
-
"* 如果 *inputTables* 是多个结构不同的表对象或数据源,用字典表示。字典的 key 是用户自定义的字符串,表示输入表或数据源的唯一标识,value 是表对象或数据源。",
|
|
72822
|
-
"",
|
|
72823
|
-
"`outputTables` 是内存表或流数据表对象。若输出表是共享表,可以指定为共享表的表名。根据回放形式的不同,*outputTables* 的取值有所区别:",
|
|
72824
|
-
"",
|
|
72825
|
-
"\\(1)一对一回放或 N 对一同构回放时,*outputTables* 是一个表对象或字符串标量,必须与输入表的 schema 相同。",
|
|
72826
|
-
"",
|
|
72827
|
-
"\\(2)N 对 N 回放,outputTables 是字符串向量或表单对象组成的元组,且它的长度必须与 inputTables 相同。输出表和输入表一一对应,且表的 schema 必须相同。",
|
|
72828
|
-
"",
|
|
72829
|
-
"\\(3)N 对一异构回放时 outputTables 是一个标量,至少包含三列:",
|
|
72830
|
-
"",
|
|
72831
|
-
" * 第一列为 *dateColumn* 和 *timeColumn* 指定的回放时间的时间戳;",
|
|
72832
|
-
" * 第二列为 SYMBOL 或 STRING 类型,对应 *inputTables* 字典的 key;",
|
|
72833
|
-
" * 第三列为 BLOB 类型,用于存储被回放的每条记录序列化后的结果。",
|
|
72834
|
-
"",
|
|
72835
|
-
"此外,可输出各输入表的公共列(列名和类型一致的列)。",
|
|
72836
|
-
"",
|
|
72837
|
-
"`dateColumn` 和 `timeColumn` 为时间列的列名,至少指定其中一个参数。根据回放形式的不同,*dateColumn* 和 *timeColumn* 的取值有所区别:",
|
|
72838
|
-
"",
|
|
72839
|
-
"* 一对一回放或 N 对一同构回放: 输入表与输出表的时间列列名必须相同,指定为字符串标量;",
|
|
72840
|
-
"* N 对 N 回放:输入表时间列的列名不同,指定为字符串向量;",
|
|
72841
|
-
"* N 对一异构回放:输入表时间列的列名不同,指定为字典,其中 key 为输入表的唯一标识符,value 是对应表时间列的列名。",
|
|
72842
|
-
"",
|
|
72843
|
-
"只指定 *dateColumn* 或 *timeColumn* 中的一个参数,或者 *dateColumn* 和 *timeColumn* 指定为同一列时,对指定的时间列的类型没有限制。",
|
|
72844
|
-
"",
|
|
72845
|
-
"若指定 *dateColumn* 和 *timeColumn* 为不同列,*dateColumn* 必须是 DATE 类型,*timeColumn* 只能是 SECOND, TIME 或 NANOTIME 类型。",
|
|
72846
|
-
"",
|
|
72847
|
-
"`replayRate` 整数,和参数 *absoluteRate* 共同决定了回放的速率。 ",
|
|
72848
|
-
"",
|
|
72849
|
-
"`absoluteRate` 布尔值。默认值为 true,表示每秒按 *replayRate* 指定的记录数回放。若为 false,表示依照数据中的时间戳加速 *replayRate* 倍回放。",
|
|
72850
|
-
"",
|
|
72851
|
-
"根据不同的场景需求,replay 提供以下三种回放模式:",
|
|
72852
|
-
"",
|
|
72853
|
-
"- 匀速回放:如果 *replayRate* 为正整数,且 *absoluteRate* 为 true,则回放的速率基于记录数计算,按照每秒 *replayRate* 条记录进行回放。假设输入表的总记录条数为 total(多表回放时为所有表的总记录数),那么回放该表所需的时间大致为 total/replayRate 秒。",
|
|
72854
|
-
"",
|
|
72855
|
-
"- 倍速回放:如果 *replayRate* 为正整数,并且 *absoluteRate* 为 false,则将输入表中的数据按照时间加速 *replayRate* 倍回放。假设输入表中 *dateColumn* 或 *timeColumn* 的最大时间戳和最小时间戳相差 n 秒,数据总数为 s,则系统每秒回放 replayRate*s/n 条记录(每秒至少回放 1 条),即回放时间大致为 n/replayRate 秒。",
|
|
72856
|
-
"",
|
|
72857
|
-
"- 极速回放:如果 *replayRate* 未指定或者为负,无论 *absoluteRate* 为 false 还是 true,系统都将以最快的速率进行回放。回放所需的时间与 DolphinDB 所在的服务器性能有关。",
|
|
72858
|
-
"",
|
|
72859
|
-
"上述回放耗时主要基于同构回放估算,异构回放的耗时开销会略高于上述估算的回放耗时。",
|
|
72860
|
-
"",
|
|
72861
|
-
"`parallelLevel` 正整数,表示从数据源加载数据到内存的工作线程数量,默认值为 1。如果 *inputTables* 不是数据源,无需指定该参数。",
|
|
72862
|
-
""
|
|
72863
|
-
]
|
|
72864
|
-
}
|
|
72865
|
-
]
|
|
72866
|
-
},
|
|
72867
|
-
{
|
|
72868
|
-
"title": "例子",
|
|
72869
|
-
"type": "example",
|
|
72870
|
-
"children": [
|
|
72871
|
-
{
|
|
72872
|
-
"type": "text",
|
|
72873
|
-
"value": [
|
|
72874
|
-
"例1. 回放一张表",
|
|
72875
|
-
""
|
|
72876
|
-
]
|
|
72877
|
-
},
|
|
72878
|
-
{
|
|
72879
|
-
"type": "code",
|
|
72880
|
-
"language": "console",
|
|
72881
|
-
"value": [
|
|
72882
|
-
""
|
|
72883
|
-
]
|
|
72884
|
-
},
|
|
72885
|
-
{
|
|
72886
|
-
"type": "text",
|
|
72887
|
-
"value": [
|
|
72888
|
-
" $ n=1000",
|
|
72889
|
-
" $ sym = take(`IBM,n)",
|
|
72890
|
-
" $ timestamp= take(temporalAdd(2012.12.06T09:30:12.000,1..500,'s'),n)",
|
|
72891
|
-
" $ volume = rand(100,n)",
|
|
72892
|
-
" $ trades=table(sym,timestamp,volume)",
|
|
72893
|
-
" $ trades.sortBy!(`timestamp)",
|
|
72894
|
-
" $ share streamTable(100:0,`sym`timestamp`volume,[SYMBOL,TIMESTAMP,INT]) as st",
|
|
72895
|
-
"",
|
|
72896
|
-
"* 每秒回放100条数据:",
|
|
72897
|
-
""
|
|
72898
|
-
]
|
|
72899
|
-
},
|
|
72900
|
-
{
|
|
72901
|
-
"type": "code",
|
|
72902
|
-
"language": "console",
|
|
72903
|
-
"value": [
|
|
72904
|
-
""
|
|
72905
|
-
]
|
|
72906
|
-
},
|
|
72907
|
-
{
|
|
72908
|
-
"type": "text",
|
|
72909
|
-
"value": [
|
|
72910
|
-
" $ timer replay(inputTables=trades, outputTables=st, dateColumn=`timestamp, timeColumn=`timestamp,replayRate=100, absoluteRate=true);",
|
|
72911
|
-
" Time elapsed: 10001.195 ms",
|
|
72912
|
-
"",
|
|
72913
|
-
"表 trades 中一共有1000条数据,每秒回放100条耗时大约10秒。",
|
|
72914
|
-
"",
|
|
72915
|
-
"* 加速100倍时间回放:",
|
|
72916
|
-
""
|
|
72917
|
-
]
|
|
72918
|
-
},
|
|
72919
|
-
{
|
|
72920
|
-
"type": "code",
|
|
72921
|
-
"language": "console",
|
|
72922
|
-
"value": [
|
|
72923
|
-
""
|
|
72924
|
-
]
|
|
72925
|
-
},
|
|
72926
|
-
{
|
|
72927
|
-
"type": "text",
|
|
72928
|
-
"value": [
|
|
72929
|
-
" $ timer replay(inputTables=trades,outputTables=st,dateColumn=`timestamp,timeColumn=`timestamp,replayRate=100,absoluteRate=false);",
|
|
72930
|
-
" Time elapsed: 5001.909 ms",
|
|
72931
|
-
"",
|
|
72932
|
-
"表 trades 中的最大时间与最小时间相差500秒,加速 100 倍时间回放耗时大约5秒。",
|
|
72933
|
-
"",
|
|
72934
|
-
"* 以最快的速率回放:",
|
|
72935
|
-
""
|
|
72936
|
-
]
|
|
72937
|
-
},
|
|
72938
|
-
{
|
|
72939
|
-
"type": "code",
|
|
72940
|
-
"language": "console",
|
|
72941
|
-
"value": [
|
|
72942
|
-
""
|
|
72943
|
-
]
|
|
72944
|
-
},
|
|
72945
|
-
{
|
|
72946
|
-
"type": "text",
|
|
72947
|
-
"value": [
|
|
72948
|
-
" $ timer replay(inputTables=trades,outputTables=st,dateColumn=`timestamp,timeColumn=`timestamp);",
|
|
72949
|
-
" Time elapsed: 2.026 ms",
|
|
72950
|
-
"",
|
|
72951
|
-
"例2. 可以将多个数据源回放到一个或多个输出表中。",
|
|
72952
|
-
""
|
|
72953
|
-
]
|
|
72954
|
-
},
|
|
72955
|
-
{
|
|
72956
|
-
"type": "code",
|
|
72957
|
-
"language": "console",
|
|
72958
|
-
"value": [
|
|
72959
|
-
""
|
|
72960
|
-
]
|
|
72961
|
-
},
|
|
72962
|
-
{
|
|
72963
|
-
"type": "text",
|
|
72964
|
-
"value": [
|
|
72965
|
-
" $ n=5000000",
|
|
72966
|
-
" $ sym = rand(symbol(`IBM`APPL`MSFT`GOOG`GS),n)",
|
|
72967
|
-
" $ date=take(2012.06.12..2012.06.16,n)",
|
|
72968
|
-
" $ time=rand(13:30:11.008..13:30:11.012,n)",
|
|
72969
|
-
" $ volume = rand(100,n)",
|
|
72970
|
-
" $ t=table(sym,date,time,volume)",
|
|
72971
|
-
" $ if(existsDatabase(\"dfs://test_stock\")){",
|
|
72972
|
-
" $ dropDatabase(\"dfs://test_stock\")",
|
|
72973
|
-
" $ }",
|
|
72974
|
-
" $ db=database(\"dfs://test_stock\",VALUE,2012.06.12..2012.06.16)",
|
|
72975
|
-
" $ trades=db.createPartitionedTable(t,`trades,`date)",
|
|
72976
|
-
" $ trades.append!(t)",
|
|
72977
|
-
"",
|
|
72978
|
-
" $ share streamTable(100:0,`sym`date`time`volume,[SYMBOL,DATE,TIME,INT]) as st1",
|
|
72979
|
-
" $ share streamTable(100:0,`sym`date`time`volume,[SYMBOL,DATE,TIME,INT]) as st2",
|
|
72980
|
-
"",
|
|
72981
|
-
" $ ds1=replayDS(sqlObj=<select * from trades where date=2012.06.12>,dateColumn=`date,timeColumn=`time,timeRepartitionSchema=[13:30:11.008,13:30:11.010,13:30:11.013])",
|
|
72982
|
-
" $ ds2=replayDS(sqlObj=<select * from trades where date=2012.06.16>,dateColumn=`date,timeColumn=`time,timeRepartitionSchema=[13:30:11.008,13:30:11.010,13:30:11.013])",
|
|
72983
|
-
"",
|
|
72984
|
-
" $ replay(inputTables=[ds1,ds2],outputTables=[st1,st2],dateColumn=`date,timeColumn=`time); //将ds1和ds2分别回放到st1和st2中",
|
|
72985
|
-
" $ select * from st1;",
|
|
72986
|
-
"",
|
|
72987
|
-
"===== ========== ============ =========",
|
|
72988
|
-
"sym date time price ",
|
|
72989
|
-
"===== ========== ============ =========",
|
|
72990
|
-
"GOOG 2012.06.12 13:30:11.008 80.257105",
|
|
72991
|
-
"MSFT 2012.06.12 13:30:11.008 19.509125",
|
|
72992
|
-
"MSFT 2012.06.12 13:30:11.008 16.856134",
|
|
72993
|
-
"GS 2012.06.12 13:30:11.008 77.784879",
|
|
72994
|
-
"MSFT 2012.06.12 13:30:11.008 33.182977",
|
|
72995
|
-
"GOOG 2012.06.12 13:30:11.008 0.411022",
|
|
72996
|
-
"IBM 2012.06.12 13:30:11.008 64.201467",
|
|
72997
|
-
"GS 2012.06.12 13:30:11.008 2.961122",
|
|
72998
|
-
"GOOG 2012.06.12 13:30:11.008 19.06283",
|
|
72999
|
-
"IBM 2012.06.12 13:30:11.008 9.793819",
|
|
73000
|
-
"...",
|
|
73001
|
-
"===== ========== ============ =========",
|
|
73002
|
-
""
|
|
73003
|
-
]
|
|
73004
|
-
},
|
|
73005
|
-
{
|
|
73006
|
-
"type": "code",
|
|
73007
|
-
"language": "console",
|
|
73008
|
-
"value": [
|
|
73009
|
-
""
|
|
73010
|
-
]
|
|
73011
|
-
},
|
|
73012
|
-
{
|
|
73013
|
-
"type": "text",
|
|
73014
|
-
"value": [
|
|
73015
|
-
" $ select * from st2;",
|
|
73016
|
-
"",
|
|
73017
|
-
"===== ========== ============ =========",
|
|
73018
|
-
"sym date time price ",
|
|
73019
|
-
"===== ========== ============ =========",
|
|
73020
|
-
"GS 2012.06.16 13:30:11.008 65.34449",
|
|
73021
|
-
"GS 2012.06.16 13:30:11.008 69.313035",
|
|
73022
|
-
"GOOG 2012.06.16 13:30:11.008 83.343602",
|
|
73023
|
-
"IBM 2012.06.16 13:30:11.008 1.09428 ",
|
|
73024
|
-
"APPL 2012.06.16 13:30:11.008 37.420217",
|
|
73025
|
-
"APPL 2012.06.16 13:30:11.008 29.142734",
|
|
73026
|
-
"IBM 2012.06.16 13:30:11.008 81.364092",
|
|
73027
|
-
"GS 2012.06.16 13:30:11.008 94.248142",
|
|
73028
|
-
"GS 2012.06.16 13:30:11.008 35.037498",
|
|
73029
|
-
"GS 2012.06.16 13:30:11.008 19.514272",
|
|
73030
|
-
"...",
|
|
73031
|
-
"===== ========== ============ =========",
|
|
73032
|
-
""
|
|
73033
|
-
]
|
|
73034
|
-
},
|
|
73035
|
-
{
|
|
73036
|
-
"type": "code",
|
|
73037
|
-
"language": "console",
|
|
73038
|
-
"value": [
|
|
73039
|
-
""
|
|
73040
|
-
]
|
|
73041
|
-
},
|
|
73042
|
-
{
|
|
73043
|
-
"type": "text",
|
|
73044
|
-
"value": [
|
|
73045
|
-
" $ share streamTable(200:0,`sym`date`time`volume,[SYMBOL,DATE,TIME,INT]) as st3",
|
|
73046
|
-
" $ replay(inputTables=[ds1,ds2],outputTables=st3,dateColumn=`date,timeColumn=`time); //将 ds1 和 ds2 都回放到 st3 中",
|
|
73047
|
-
" $ select count(*) from st3",
|
|
73048
|
-
" 2000000",
|
|
73049
|
-
"",
|
|
73050
|
-
"",
|
|
73051
|
-
"例3. 异构回放",
|
|
73052
|
-
""
|
|
73053
|
-
]
|
|
73054
|
-
},
|
|
73055
|
-
{
|
|
73056
|
-
"type": "code",
|
|
73057
|
-
"language": "console",
|
|
73058
|
-
"value": [
|
|
73059
|
-
""
|
|
73060
|
-
]
|
|
73061
|
-
},
|
|
73062
|
-
{
|
|
73063
|
-
"type": "text",
|
|
73064
|
-
"value": [
|
|
73065
|
-
" $ n=1000",
|
|
73066
|
-
" $ sym = take(take(`IBM,n).join(take(`GS,n)), n)",
|
|
73067
|
-
" $ myDate=take(2021.01.02..2021.01.06, n).sort!()",
|
|
73068
|
-
" $ myTime=take(09:30:00..15:59:59,n)",
|
|
73069
|
-
" $ vol = array(INT[], 0, 10)",
|
|
73070
|
-
" $ for(i in 0:n){vol.append!([rand(100,3)])}",
|
|
73071
|
-
" $ t=table(sym,myDate,myTime,vol)",
|
|
73072
|
-
"",
|
|
73073
|
-
"",
|
|
73074
|
-
" $ n=1000",
|
|
73075
|
-
" $ sym = take(take(`IBM,n).join(take(`GS,n)), n)",
|
|
73076
|
-
" $ date=take(2021.01.02..2021.01.06, n).sort!()",
|
|
73077
|
-
" $ time=take(09:30:00..15:59:59,n)",
|
|
73078
|
-
" $ vol = array(INT[], 0, 10)",
|
|
73079
|
-
" $ for(i in 0:n){vol.append!([rand(100,3)])}",
|
|
73080
|
-
" $ t1=table(sym, date,time,vol)",
|
|
73081
|
-
"",
|
|
73082
|
-
" $ if(existsDatabase(\"dfs://test_stock\")){",
|
|
73083
|
-
" $ dropDatabase(\"dfs://test_stock\")",
|
|
73084
|
-
" $}",
|
|
73085
|
-
" $ db1=database(\"\",RANGE, 2021.01.01..2021.01.12)",
|
|
73086
|
-
" $ db2=database(\"\",VALUE,`IBM`GS)",
|
|
73087
|
-
" $ db=database(\"dfs://test_stock\",COMPO,[db1, db2], engine=\"TSDB\")",
|
|
73088
|
-
" $ trades=db.createPartitionedTable(t,`trades,`myDate`sym, sortColumns=`sym`myDate`myTime)",
|
|
73089
|
-
" $ trades.append!(t);",
|
|
73090
|
-
" $ trades1=db.createPartitionedTable(t1,`trades1,`date`sym, sortColumns=`sym`date`time)",
|
|
73091
|
-
" $ trades1.append!(t1);",
|
|
73092
|
-
"",
|
|
73093
|
-
" //获取数据源",
|
|
73094
|
-
"",
|
|
73095
|
-
" $ ds = replayDS(sqlObj=<select * from loadTable(db, `trades)>, dateColumn=`myDate, timeColumn=`myTime)",
|
|
73096
|
-
" $ ds.size();",
|
|
73097
|
-
"",
|
|
73098
|
-
" $ ds1 = replayDS(sqlObj=<select * from loadTable(db, `trades1)>, dateColumn=`date, timeColumn=`time)",
|
|
73099
|
-
" $ ds1.size();",
|
|
73100
|
-
"",
|
|
73101
|
-
" $ input_dict = dict([\"msg1\", \"msg2\"], [ds, ds1])",
|
|
73102
|
-
" $ date_dict = dict([\"msg1\", \"msg2\"], [`myDate, `date])",
|
|
73103
|
-
" $ time_dict = dict([\"msg1\", \"msg2\"], [`myTime, `time])",
|
|
73104
|
-
" $ opt = streamTable(100:0,`timestamp`sym`blob`vol, [DATETIME,SYMBOL, BLOB, INT[]])",
|
|
73105
|
-
" $ replay(inputTables=input_dict, outputTables=opt, dateColumn = date_dict, timeColumn=time_dict, replayRate=1000, absoluteRate=false);",
|
|
73106
|
-
" $ select top 10 * from opt;"
|
|
73107
|
-
]
|
|
73108
|
-
}
|
|
73109
|
-
]
|
|
73110
|
-
}
|
|
73111
|
-
]
|
|
73112
|
-
},
|
|
73113
73220
|
"replayDS": {
|
|
73114
73221
|
"title": "replayDS",
|
|
73115
73222
|
"type": "function",
|
|
@@ -73133,11 +73240,18 @@
|
|
|
73133
73240
|
{
|
|
73134
73241
|
"type": "text",
|
|
73135
73242
|
"value": [
|
|
73136
|
-
"`sqlObj` 表示 SQL 查询的元代码。SQL 查询的表对象是 DFS
|
|
73243
|
+
"`sqlObj` 表示 SQL 查询的元代码。SQL 查询的表对象是 DFS 表,且至少有一个分区列为时间类型。",
|
|
73244
|
+
"",
|
|
73245
|
+
"`dateColumn` 列必须为 SQL 查询的表对象的时间类型列,一般为 DATE 类型,亦可为 MONTH 类型或其它时间类型。作为数据的排序依据。dateColumn 列必须为表的分区列之一,系统将根据 dateColumn 列的分区粒度划分数据源,如 dateColumn 列按天进行分区,则数据源也按天进行划分。",
|
|
73137
73246
|
"",
|
|
73138
|
-
"`
|
|
73247
|
+
"`timeColumn` 列必须为 SQL 查询的表对象的时间列,作为数据的排序依据。若 dateColumn 为 DATE 类型时,可以指定 timeColumn 为 SECOND, TIME 或 NANOTIME 类型的列作为第二排序列。此外,配合 timeRepartitionSchema 参数,timeColumn 列也可以作为数据源划分依据。",
|
|
73248
|
+
"",
|
|
73249
|
+
"注意:",
|
|
73139
73250
|
"",
|
|
73140
|
-
"
|
|
73251
|
+
"* dateColumn 和 timeColumn 暂不支持 DATEHOUR 类型的时间列。",
|
|
73252
|
+
"* 如果没有指定 dateColumn,原数据表的第一列将会作为 dateColumn。",
|
|
73253
|
+
"",
|
|
73254
|
+
"`timeRepartitionSchema` 时间类型的向量。如果指定了 timeColumn,timeRepartitionSchema 可用于划分更小粒度的数据源。如果 timeRepartitionSchema 为 [t1, t2, t3],均为 TIME 类型,那么将每天的数据进一步划分为 4 个数据源:[00:00:00.000,t1), [t1,t2), [t2,t3) 和 [t3,23:59:59.999)。"
|
|
73141
73255
|
]
|
|
73142
73256
|
}
|
|
73143
73257
|
]
|
|
@@ -73149,7 +73263,9 @@
|
|
|
73149
73263
|
{
|
|
73150
73264
|
"type": "text",
|
|
73151
73265
|
"value": [
|
|
73152
|
-
"
|
|
73266
|
+
"将一个SQL表达式,根据时间维度划分为多个数据源,作为 replay 函数的输入,逐一进行回放。时间维度既可以为 DFS 表的时间列的分区粒度,也可以是基于该分区粒度的进一步的划分(由参数 timeColumn 与 timeRepartitionSchema 决定)。返回一个由数据源列表(类型为 ANY VECTOR)。",
|
|
73267
|
+
"",
|
|
73268
|
+
"若要回放 DFS 表中的数据,只能使用 ReplayDS 函数配合 replay 函数进行。"
|
|
73153
73269
|
]
|
|
73154
73270
|
}
|
|
73155
73271
|
]
|
|
@@ -73362,7 +73478,10 @@
|
|
|
73362
73478
|
"\"S\" secondOfMinute",
|
|
73363
73479
|
"============= ===================",
|
|
73364
73480
|
"",
|
|
73365
|
-
"
|
|
73481
|
+
".. versionadded:: 2.00.9 ",
|
|
73482
|
+
" 用户自定义交易日历",
|
|
73483
|
+
"",
|
|
73484
|
+
"`rule` 上述字符串亦可配合使用数字,例如 \"2M\" 表示频率为每两个月月末。此外,*rule* 也可指定为用户自定义交易日历的标识(配置参数 *marketHolidayDir* 指定目录下的文件名,系统将根据该交易日历进行计算)。",
|
|
73366
73485
|
"",
|
|
73367
73486
|
"`func` 一个聚合函数。",
|
|
73368
73487
|
"",
|
|
@@ -73399,7 +73518,7 @@
|
|
|
73399
73518
|
{
|
|
73400
73519
|
"type": "text",
|
|
73401
73520
|
"value": [
|
|
73402
|
-
"
|
|
73521
|
+
"依照指定时间频率(或用户自定义的交易日历),对给定数据使用给定函数。注意,*rule* 指定为交易日历标识时,对于非交易日的数据,将并入上一个交易日计算。"
|
|
73403
73522
|
]
|
|
73404
73523
|
}
|
|
73405
73524
|
]
|
|
@@ -73523,7 +73642,7 @@
|
|
|
73523
73642
|
"language": "console",
|
|
73524
73643
|
"value": [
|
|
73525
73644
|
"",
|
|
73526
|
-
" $ s.resample(rule=`3min, func=sum, closed=`
|
|
73645
|
+
" $ s.resample(rule=`3min, func=sum, closed=`left,origin=`end);",
|
|
73527
73646
|
""
|
|
73528
73647
|
]
|
|
73529
73648
|
},
|
|
@@ -73674,7 +73793,7 @@
|
|
|
73674
73793
|
{
|
|
73675
73794
|
"type": "text",
|
|
73676
73795
|
"value": [
|
|
73677
|
-
"
|
|
73796
|
+
"重置用户的密码。该命令只能由管理员在控制节点/数据节点上执行。"
|
|
73678
73797
|
]
|
|
73679
73798
|
}
|
|
73680
73799
|
]
|
|
@@ -74332,6 +74451,8 @@
|
|
|
74332
74451
|
"destNode 目标节点的别名",
|
|
74333
74452
|
"================== =================================================",
|
|
74334
74453
|
"",
|
|
74454
|
+
"注意:该函数必须在控制节点下运行。",
|
|
74455
|
+
"",
|
|
74335
74456
|
"调用该函数后,可以在进行数据平衡的数据节点上执行 :doc:`/FunctionsandCommands/FunctionReferences/g/getRecoveryTaskStatus` 查看任务执行的状态。"
|
|
74336
74457
|
]
|
|
74337
74458
|
}
|
|
@@ -74634,29 +74755,13 @@
|
|
|
74634
74755
|
{
|
|
74635
74756
|
"type": "text",
|
|
74636
74757
|
"value": [
|
|
74637
|
-
"`
|
|
74638
|
-
"",
|
|
74639
|
-
"`accessType` 是权限类型。主要有以下8种权限:",
|
|
74640
|
-
"",
|
|
74641
|
-
"1. TABLE_READ:读取指定数据表",
|
|
74642
|
-
"",
|
|
74643
|
-
"2. TABLE_WRITE:写入指定数据表",
|
|
74644
|
-
"",
|
|
74645
|
-
"3. DBOBJ_CREATE:在某个数据库中创建数据表",
|
|
74646
|
-
"",
|
|
74647
|
-
"4. DBOBJ_DELETE:删除某个数据库中的数据表",
|
|
74758
|
+
"`userId` | `groupId` 是表示用户名或组名的字符串。",
|
|
74648
74759
|
"",
|
|
74649
|
-
"
|
|
74760
|
+
"`accessType` 是权限类型。",
|
|
74650
74761
|
"",
|
|
74651
|
-
"
|
|
74762
|
+
"`objs` 标量或向量,表示权限类型的应用对象。",
|
|
74652
74763
|
"",
|
|
74653
|
-
"
|
|
74654
|
-
"",
|
|
74655
|
-
"8. SCRIPT_EXEC:执行脚本",
|
|
74656
|
-
"",
|
|
74657
|
-
"9. TEST_EXEC:执行测试脚本",
|
|
74658
|
-
"",
|
|
74659
|
-
"`objs` 是表示权限类型的应用对象。若权限类型为TABLE_READ, TABLE_WRITE, DBOBJ_CREATE, DBOBJ_DELETE或VIEW_EXEC, 它是一个必需参数。若权限类型为DB_MANAGE, DB_OWNER, SCRIPT_EXEC和TEST_EXEC, 它可以省略。"
|
|
74764
|
+
"*accessType* 和 *objs* 的取值请参照 :doc:`/SystemManagement/UserAccessControl` 权限类型表。"
|
|
74660
74765
|
]
|
|
74661
74766
|
}
|
|
74662
74767
|
]
|
|
@@ -74668,7 +74773,13 @@
|
|
|
74668
74773
|
{
|
|
74669
74774
|
"type": "text",
|
|
74670
74775
|
"value": [
|
|
74671
|
-
"
|
|
74776
|
+
"revoke 函数执行以下操作:",
|
|
74777
|
+
"",
|
|
74778
|
+
"(1)撤销某个用户或某个组的之前被赋予或禁止的权限。",
|
|
74779
|
+
"",
|
|
74780
|
+
"(2)撤销 grant 给某个用户的内存约束,包含:查询返回结果的内存上限(指定 accessType = QUERY_RESULT_MEM_LIMIT)和发送的批量子查询占用的内存上限(指定 accessType = TASK_GROUP_MEM_LIMIT)。撤销后,将恢复为系统的默认值。",
|
|
74781
|
+
"",
|
|
74782
|
+
"该命令只能由管理员在控制节点/数据节点上执行。"
|
|
74672
74783
|
]
|
|
74673
74784
|
}
|
|
74674
74785
|
]
|
|
@@ -74680,7 +74791,7 @@
|
|
|
74680
74791
|
{
|
|
74681
74792
|
"type": "text",
|
|
74682
74793
|
"value": [
|
|
74683
|
-
"
|
|
74794
|
+
"撤销组 \"production\" 的所有成员读取所有数据库表的权限:",
|
|
74684
74795
|
""
|
|
74685
74796
|
]
|
|
74686
74797
|
},
|
|
@@ -74697,7 +74808,7 @@
|
|
|
74697
74808
|
{
|
|
74698
74809
|
"type": "text",
|
|
74699
74810
|
"value": [
|
|
74700
|
-
"
|
|
74811
|
+
"撤销组 \"research\" 的所有成员读写表 ``dfs://db1/t1`` 的权限:",
|
|
74701
74812
|
""
|
|
74702
74813
|
]
|
|
74703
74814
|
},
|
|
@@ -74714,7 +74825,7 @@
|
|
|
74714
74825
|
{
|
|
74715
74826
|
"type": "text",
|
|
74716
74827
|
"value": [
|
|
74717
|
-
"
|
|
74828
|
+
"撤销组 \"research\" 的所有成员在数据库 ``dfs://db1`` 和 ``dfs://db2`` 创建表的权限:",
|
|
74718
74829
|
""
|
|
74719
74830
|
]
|
|
74720
74831
|
},
|
|
@@ -74730,7 +74841,7 @@
|
|
|
74730
74841
|
{
|
|
74731
74842
|
"type": "text",
|
|
74732
74843
|
"value": [
|
|
74733
|
-
"
|
|
74844
|
+
"撤销用户 \"AlexSmith\" 创建和删除数据库的权限:",
|
|
74734
74845
|
""
|
|
74735
74846
|
]
|
|
74736
74847
|
},
|
|
@@ -74746,7 +74857,7 @@
|
|
|
74746
74857
|
{
|
|
74747
74858
|
"type": "text",
|
|
74748
74859
|
"value": [
|
|
74749
|
-
"
|
|
74860
|
+
"撤销用户 \"AlexSmith\" 执行脚本的权限:",
|
|
74750
74861
|
""
|
|
74751
74862
|
]
|
|
74752
74863
|
},
|
|
@@ -74762,7 +74873,7 @@
|
|
|
74762
74873
|
{
|
|
74763
74874
|
"type": "text",
|
|
74764
74875
|
"value": [
|
|
74765
|
-
"
|
|
74876
|
+
"撤销用户 \"AlexSmith\" 测试脚本的权限:",
|
|
74766
74877
|
""
|
|
74767
74878
|
]
|
|
74768
74879
|
},
|
|
@@ -75586,6 +75697,20 @@
|
|
|
75586
75697
|
}
|
|
75587
75698
|
]
|
|
75588
75699
|
},
|
|
75700
|
+
{
|
|
75701
|
+
"title": "参数",
|
|
75702
|
+
"type": "parameters",
|
|
75703
|
+
"children": [
|
|
75704
|
+
{
|
|
75705
|
+
"type": "text",
|
|
75706
|
+
"value": [
|
|
75707
|
+
"`X`:矩阵或数组向量。",
|
|
75708
|
+
"",
|
|
75709
|
+
"`Y`:和 X 行数相等的向量或数组向量。"
|
|
75710
|
+
]
|
|
75711
|
+
}
|
|
75712
|
+
]
|
|
75713
|
+
},
|
|
75589
75714
|
{
|
|
75590
75715
|
"title": "详情",
|
|
75591
75716
|
"type": "detail",
|
|
@@ -75593,7 +75718,11 @@
|
|
|
75593
75718
|
{
|
|
75594
75719
|
"type": "text",
|
|
75595
75720
|
"value": [
|
|
75596
|
-
"
|
|
75721
|
+
"若 Y 是向量,则 Y 的每个元素表示 X 每行的列索引,逐行取出 X 中对应索引的元素,返回一个与 Y 长度相同的向量。",
|
|
75722
|
+
"",
|
|
75723
|
+
"若 Y 是数组向量,则 Y 的每行元素表示 X 每行的列索引,逐行取出 X 中对应索引的元素,返回一个与 Y 维度相同的数组向量。",
|
|
75724
|
+
"",
|
|
75725
|
+
"注意:若索引无对应元素,则返回空值。"
|
|
75597
75726
|
]
|
|
75598
75727
|
}
|
|
75599
75728
|
]
|
|
@@ -75612,14 +75741,15 @@
|
|
|
75612
75741
|
" $ rowAt(m, index)",
|
|
75613
75742
|
" [7.1,4.5,2.2]",
|
|
75614
75743
|
"",
|
|
75615
|
-
" $
|
|
75616
|
-
" $
|
|
75617
|
-
"
|
|
75618
|
-
"
|
|
75619
|
-
" $
|
|
75620
|
-
" $
|
|
75621
|
-
" $
|
|
75622
|
-
""
|
|
75744
|
+
" $ index = array(INT[], 0, 10).append!([0 1, 2 4, 3 4 5])",
|
|
75745
|
+
" $ rowAt(m, index)",
|
|
75746
|
+
" [[3.1,4.2],[7.1,8.4],[5.3,3.5,]]",
|
|
75747
|
+
"",
|
|
75748
|
+
" $ x = array(DOUBLE[], 0, 10).append!([3.3 3.6 3.8, 3.7 3.4 3.5, 3.4 3.4 3.5])",
|
|
75749
|
+
" $ index = array(INT[], 0, 10).append!([0 1, 2, 0 2])",
|
|
75750
|
+
" $ rowAt(x, index)",
|
|
75751
|
+
" [[3.3,3.6],[3.5],[3.4,3.5]]",
|
|
75752
|
+
" "
|
|
75623
75753
|
]
|
|
75624
75754
|
},
|
|
75625
75755
|
{
|
|
@@ -80031,6 +80161,7 @@
|
|
|
80031
80161
|
" * typeInt:列类型对应的ID",
|
|
80032
80162
|
" * extra:仅在列类型为 DECIMAL 时,显示 DECIMAL 的 scale",
|
|
80033
80163
|
" * comment:列字段的注释信息",
|
|
80164
|
+
"* clusterReplicationEnabled:是否开启异步复制。",
|
|
80034
80165
|
"",
|
|
80035
80166
|
"相关函数::doc:`/FunctionsandCommands/FunctionReferences/d/database`, :doc:`/FunctionsandCommands/FunctionReferences/c/createTable`, :doc:`/FunctionsandCommands/FunctionReferences/c/createPartitionedTable`"
|
|
80036
80167
|
]
|
|
@@ -84809,7 +84940,7 @@
|
|
|
84809
84940
|
{
|
|
84810
84941
|
"type": "text",
|
|
84811
84942
|
"value": [
|
|
84812
|
-
"`str` 是STRING
|
|
84943
|
+
"`str` 是STRING类型标量或向量;",
|
|
84813
84944
|
"",
|
|
84814
84945
|
"`delimiter` 是CHAR类型或STRING类型标量。"
|
|
84815
84946
|
]
|
|
@@ -84823,9 +84954,11 @@
|
|
|
84823
84954
|
{
|
|
84824
84955
|
"type": "text",
|
|
84825
84956
|
"value": [
|
|
84826
|
-
"
|
|
84957
|
+
"若 *str* 为标量:",
|
|
84958
|
+
"* 如果没有指定 *delimiter*,把str分割为CHAR类型向量。",
|
|
84959
|
+
"* 如果指定了 *delimiter*,把它作为分隔符,把 *str* 分成CHAR类型或STRING类型的向量。",
|
|
84827
84960
|
"",
|
|
84828
|
-
"
|
|
84961
|
+
"若 *str* 为向量,则对 *str* 的每一个元素进行分割,返回一个列式元组(columnar tuple)。"
|
|
84829
84962
|
]
|
|
84830
84963
|
}
|
|
84831
84964
|
]
|
|
@@ -84851,6 +84984,20 @@
|
|
|
84851
84984
|
" $ split(`xyz1,`xyz)[1];",
|
|
84852
84985
|
" 1",
|
|
84853
84986
|
"",
|
|
84987
|
+
" $ a = split(\"20220101 09:00:00\" \"20220101 09:12:20\" \"20220101 10:00:00\", \" \")",
|
|
84988
|
+
" ([\"20220101\",\"09:00:00\"],[\"20220101\",\"09:12:20\"],[\"20220101\",\"10:00:00\"])",
|
|
84989
|
+
"",
|
|
84990
|
+
" // 按列取数",
|
|
84991
|
+
" $ a[0];",
|
|
84992
|
+
" [\"20220101\",\"20220101\",\"20220101\"]",
|
|
84993
|
+
"",
|
|
84994
|
+
" $ a[1];",
|
|
84995
|
+
" [\"09:00:00\",\"09:12:20\",\"10:00:00\"]",
|
|
84996
|
+
"",
|
|
84997
|
+
" //按行取数",
|
|
84998
|
+
" $ a.row(0)",
|
|
84999
|
+
" [\"20220101\",\"09:00:00\"]",
|
|
85000
|
+
"",
|
|
84854
85001
|
""
|
|
84855
85002
|
]
|
|
84856
85003
|
}
|
|
@@ -85942,70 +86089,6 @@
|
|
|
85942
86089
|
}
|
|
85943
86090
|
]
|
|
85944
86091
|
},
|
|
85945
|
-
"startAsyncReplication": {
|
|
85946
|
-
"title": "startAsyncReplication",
|
|
85947
|
-
"type": "command",
|
|
85948
|
-
"children": [
|
|
85949
|
-
{
|
|
85950
|
-
"title": "语法",
|
|
85951
|
-
"type": "grammer",
|
|
85952
|
-
"children": [
|
|
85953
|
-
{
|
|
85954
|
-
"type": "text",
|
|
85955
|
-
"value": [
|
|
85956
|
-
"startAsyncReplication()"
|
|
85957
|
-
]
|
|
85958
|
-
}
|
|
85959
|
-
]
|
|
85960
|
-
},
|
|
85961
|
-
{
|
|
85962
|
-
"title": "参数",
|
|
85963
|
-
"type": "parameters",
|
|
85964
|
-
"children": [
|
|
85965
|
-
{
|
|
85966
|
-
"type": "text",
|
|
85967
|
-
"value": [
|
|
85968
|
-
"无"
|
|
85969
|
-
]
|
|
85970
|
-
}
|
|
85971
|
-
]
|
|
85972
|
-
},
|
|
85973
|
-
{
|
|
85974
|
-
"title": "详情",
|
|
85975
|
-
"type": "detail",
|
|
85976
|
-
"children": [
|
|
85977
|
-
{
|
|
85978
|
-
"type": "text",
|
|
85979
|
-
"value": [
|
|
85980
|
-
"启用集群间的异步复制后,在主集群的数据节点上执行,用于恢复发送到从集群的任务。"
|
|
85981
|
-
]
|
|
85982
|
-
}
|
|
85983
|
-
]
|
|
85984
|
-
},
|
|
85985
|
-
{
|
|
85986
|
-
"title": "例子",
|
|
85987
|
-
"type": "example",
|
|
85988
|
-
"children": [
|
|
85989
|
-
{
|
|
85990
|
-
"type": "code",
|
|
85991
|
-
"language": "console",
|
|
85992
|
-
"value": [
|
|
85993
|
-
" ",
|
|
85994
|
-
" $ startAsyncReplication();",
|
|
85995
|
-
"",
|
|
85996
|
-
""
|
|
85997
|
-
]
|
|
85998
|
-
},
|
|
85999
|
-
{
|
|
86000
|
-
"type": "text",
|
|
86001
|
-
"value": [
|
|
86002
|
-
"相关函数: :doc:`stopAsyncReplication`"
|
|
86003
|
-
]
|
|
86004
|
-
}
|
|
86005
|
-
]
|
|
86006
|
-
}
|
|
86007
|
-
]
|
|
86008
|
-
},
|
|
86009
86092
|
"startDataNode": {
|
|
86010
86093
|
"title": "startDataNode",
|
|
86011
86094
|
"type": "command",
|
|
@@ -86807,69 +86890,6 @@
|
|
|
86807
86890
|
}
|
|
86808
86891
|
]
|
|
86809
86892
|
},
|
|
86810
|
-
"stopAsyncReplication": {
|
|
86811
|
-
"title": "stopAsyncReplication",
|
|
86812
|
-
"type": "command",
|
|
86813
|
-
"children": [
|
|
86814
|
-
{
|
|
86815
|
-
"title": "语法",
|
|
86816
|
-
"type": "grammer",
|
|
86817
|
-
"children": [
|
|
86818
|
-
{
|
|
86819
|
-
"type": "text",
|
|
86820
|
-
"value": [
|
|
86821
|
-
"stopAsyncReplication()"
|
|
86822
|
-
]
|
|
86823
|
-
}
|
|
86824
|
-
]
|
|
86825
|
-
},
|
|
86826
|
-
{
|
|
86827
|
-
"title": "参数",
|
|
86828
|
-
"type": "parameters",
|
|
86829
|
-
"children": [
|
|
86830
|
-
{
|
|
86831
|
-
"type": "text",
|
|
86832
|
-
"value": [
|
|
86833
|
-
"无"
|
|
86834
|
-
]
|
|
86835
|
-
}
|
|
86836
|
-
]
|
|
86837
|
-
},
|
|
86838
|
-
{
|
|
86839
|
-
"title": "详情",
|
|
86840
|
-
"type": "detail",
|
|
86841
|
-
"children": [
|
|
86842
|
-
{
|
|
86843
|
-
"type": "text",
|
|
86844
|
-
"value": [
|
|
86845
|
-
"启用集群间的异步复制后,在主集群的数据节点上执行,用于暂停发送到从集群的任务。"
|
|
86846
|
-
]
|
|
86847
|
-
}
|
|
86848
|
-
]
|
|
86849
|
-
},
|
|
86850
|
-
{
|
|
86851
|
-
"title": "例子",
|
|
86852
|
-
"type": "example",
|
|
86853
|
-
"children": [
|
|
86854
|
-
{
|
|
86855
|
-
"type": "code",
|
|
86856
|
-
"language": "console",
|
|
86857
|
-
"value": [
|
|
86858
|
-
" ",
|
|
86859
|
-
" $ stopAsyncReplication();",
|
|
86860
|
-
""
|
|
86861
|
-
]
|
|
86862
|
-
},
|
|
86863
|
-
{
|
|
86864
|
-
"type": "text",
|
|
86865
|
-
"value": [
|
|
86866
|
-
"相关函数: :doc:`startAsyncReplication`"
|
|
86867
|
-
]
|
|
86868
|
-
}
|
|
86869
|
-
]
|
|
86870
|
-
}
|
|
86871
|
-
]
|
|
86872
|
-
},
|
|
86873
86893
|
"stopDataNode": {
|
|
86874
86894
|
"title": "stopDataNode",
|
|
86875
86895
|
"type": "command",
|
|
@@ -87067,27 +87087,21 @@
|
|
|
87067
87087
|
{
|
|
87068
87088
|
"type": "text",
|
|
87069
87089
|
"value": [
|
|
87070
|
-
"streamEngineParser
|
|
87071
|
-
"",
|
|
87072
|
-
"若要使用 streamEngineParser,必须根据业务场景提供的指标,分析业务中涉及的流计算引擎,将指标改写成 streamEngineParser 能够识别分解的 metrics。",
|
|
87090
|
+
"在实际场景下,用户的因子可能嵌套横截面、历史状态、时序窗口、表连接等多种复杂逻辑,需要多个计算引擎的级联才能实现。streamEngineParser 为只涉及横截面、历史状态、时序窗口三种逻辑嵌套的复杂因子,提供了一个统一的计算入口。用户无需编写复杂的级联代码,只需将嵌套因子按规则改写后传入 streamEngineParser,系统将自动解析各层嵌套涉及的计算逻辑,形成流计算引擎流水线,自动分发给对应的引擎进行计算。",
|
|
87073
87091
|
"",
|
|
87074
|
-
"
|
|
87092
|
+
"为满足各逻辑对应引擎的功能,该函数集合了(日级)时序引擎、响应式状态引擎和横截面引擎的参数。需要注意的是,由于部分为公共参数(如 keyColumn),若公共参数在不同计算逻辑下需要指定的值不同(如时序窗口按天分组,状态逻辑要求按股票代码分组,则需要配置不同的 keyColumn),不能使用该函数,只能通过级联实现。",
|
|
87075
87093
|
"",
|
|
87076
|
-
"
|
|
87094
|
+
"返回一个表对象,为解析后流水线上第一个流计算引擎返回的表,向该表写入数据意味着这些数据进入流水线进行计算。删除时,需要根据 streamEngineParser 解析出的引擎对应的名称(详见 name)单独进行删除,暂不支持。",
|
|
87077
87095
|
"",
|
|
87078
|
-
"
|
|
87096
|
+
"根据上文,若要使用 streamEngineParser,必须根据业务场景提供的指标,分析业务中涉及的流计算引擎,将指标改写成 streamEngineParser 能够识别分解的 metrics。若 metrics 中包含了用户自定义函数,引擎对函数体内部的嵌套逻辑进一步进行解析。",
|
|
87079
87097
|
"",
|
|
87080
|
-
"
|
|
87081
|
-
"",
|
|
87082
|
-
"注意:",
|
|
87083
|
-
"",
|
|
87084
|
-
"(1)若 metrics 中包含用户自定义函数,则引擎解析器会按下文的分解原则将函数体进行分解,将各分解得到的操作分发给对应引擎进行处理。",
|
|
87085
|
-
"",
|
|
87086
|
-
"(2)若用户自定义函数用 @state 进行标识,则引擎解析器会将其分配给响应式状态引擎处理。",
|
|
87098
|
+
"改写规则如下:",
|
|
87087
87099
|
"",
|
|
87088
87100
|
"\\1. 引擎分解标识",
|
|
87089
87101
|
"",
|
|
87090
|
-
"*
|
|
87102
|
+
"* 若指标中的某一层嵌套逻辑要求计算截面数据,需将对应的计算函数改成以 “row开头” 的函数作为标识,若不添加 row 则该操作默认在响应式状态引擎处理。如:需要在截面计算排名,则需要将该层嵌套改写为 rowRank。",
|
|
87103
|
+
"",
|
|
87104
|
+
"目前支持的标识函数如下:",
|
|
87091
87105
|
"",
|
|
87092
87106
|
"::",
|
|
87093
87107
|
"",
|
|
@@ -87095,17 +87109,21 @@
|
|
|
87095
87109
|
" \"rowSize\", \"rowSkew\", \"rowStd\", \"rowStdp\", \"rowSum\", \"rowSum2\", \"rowVar\", \"rowVarp\", ",
|
|
87096
87110
|
" \"rowAnd\", \"rowOr\", \"rowXor\", \"rowKurtosis\", \"rowCorr\", \"rowCovar\", \"rowBeta\", \"rowWsum\", \"rowWavg\"",
|
|
87097
87111
|
"",
|
|
87098
|
-
"
|
|
87112
|
+
"用户自定义函数或者 row 系列函数不支持的逻辑可以通过 byRow 高阶函数实现。",
|
|
87113
|
+
"",
|
|
87114
|
+
"* 若指标中的某一层嵌套逻辑涉及到时序聚合窗口的计算,必须在指标中以 :doc:`/Functionalprogramming/TemplateFunctions/rolling` 作为标识进行改写。如:窗口为 3, 步长为 3,窗口内进行求和计算,计算列为 price,空值以前值填充,则可以写为 rolling(sum, price, 3, 3, 'ffill')。",
|
|
87115
|
+
"",
|
|
87116
|
+
"形式如下: ",
|
|
87099
87117
|
"",
|
|
87100
87118
|
"::",
|
|
87101
87119
|
"",
|
|
87102
87120
|
" rolling(func, funcArgs, window, [step=1], [fill='none']) ",
|
|
87103
87121
|
"",
|
|
87104
|
-
"*
|
|
87122
|
+
"* 分解时,不包含上述标识的内置函数均在响应式状态引擎中处理。",
|
|
87105
87123
|
" ",
|
|
87106
87124
|
"\\2. 中间引擎输入表结构",
|
|
87107
87125
|
"",
|
|
87108
|
-
"
|
|
87126
|
+
"在 streamEngineParser 中,用户只能通过参数 *dummyTable* 指定第一个引擎输入表的 schema ,中间引擎的 *dummyTable* 对用户而言是透明的, 为了能在 *metrics* 和部分参数中指定中间表的列名,streamEngineParser 提供了一套中间引擎 *dummyTable* 的命名规范:",
|
|
87109
87127
|
"",
|
|
87110
87128
|
"* 第一列为时间列。",
|
|
87111
87129
|
"* 之后几列对应指定的 *keyColumn*。",
|
|
@@ -87120,7 +87138,7 @@
|
|
|
87120
87138
|
"* 横截面引擎:*contextByColumn*",
|
|
87121
87139
|
"* 响应式状态引擎:*filter*, *keyPurgeFilter* ",
|
|
87122
87140
|
"",
|
|
87123
|
-
"
|
|
87141
|
+
"若这些参数需要指定中间引擎的 *dummyTable* 的列名,则可以根据如上的命名规则给出的列名进行指定,如 \"*contextByColumn* = col\\_0\\_\"。",
|
|
87124
87142
|
"",
|
|
87125
87143
|
"若指定的列为 *timeColumn* 和 *keyColumn*,则也可以指定参数对应的列名。"
|
|
87126
87144
|
]
|
|
@@ -87336,11 +87354,11 @@
|
|
|
87336
87354
|
{
|
|
87337
87355
|
"type": "text",
|
|
87338
87356
|
"value": [
|
|
87339
|
-
"
|
|
87357
|
+
"创建流数据过滤引擎,对输入引擎的数据进行过滤和分发处理,返回一个表对象。",
|
|
87340
87358
|
"",
|
|
87341
|
-
"
|
|
87359
|
+
"该引擎的处理流程包含以下步骤:",
|
|
87342
87360
|
"",
|
|
87343
|
-
"\\1.
|
|
87361
|
+
"\\1. 输入数据为异构流表(由 :doc:`../r/replay` 函数回放得到)时,解析(反序列化)数据。输入数据为普通流表时无此步骤。注意:1.30.18 版本开始,streamFilter 函数支持过滤普通流表数据,并进行分发处理。",
|
|
87344
87362
|
"",
|
|
87345
87363
|
"\\2. 根据 *filter* 指定的规则对流表进行过滤。",
|
|
87346
87364
|
"",
|
|
@@ -87384,7 +87402,7 @@
|
|
|
87384
87402
|
"* 'condition':表示过滤条件。",
|
|
87385
87403
|
"",
|
|
87386
87404
|
" * 若分发异构流表,则 'condition' 是一个字符串,且必须是 replay 参数 *inputTables* 的键值(表的标识)。用于过滤出异构表中具有 *condition* 标识的数据。",
|
|
87387
|
-
" * 若分发普通流表,则 'condition'
|
|
87405
|
+
" * 若分发普通流表,则 'condition' 可以是一个字符串标量/向量,或者是包含一个或多个布尔表达式的元代码。其中表达式中可以使用内置函数,但不支持部分应用。请注意,若 'condition' 指定为字符串标量/向量,必须为 *conditionColumn* 指定列的元素。",
|
|
87388
87406
|
"",
|
|
87389
87407
|
"* 'handler':一元函数或表对象(包括流数据引擎返回的表对象)。",
|
|
87390
87408
|
"",
|
|
@@ -90283,11 +90301,11 @@
|
|
|
90283
90301
|
{
|
|
90284
90302
|
"type": "text",
|
|
90285
90303
|
"value": [
|
|
90286
|
-
"syncDict(keyObj, valueObj, [sharedName])",
|
|
90304
|
+
"syncDict(keyObj, valueObj, [sharedName], [ordered=false])",
|
|
90287
90305
|
"",
|
|
90288
90306
|
"或",
|
|
90289
90307
|
"",
|
|
90290
|
-
"syncDict(keyType, valueType, [sharedName])"
|
|
90308
|
+
"syncDict(keyType, valueType, [sharedName], [ordered=false])"
|
|
90291
90309
|
]
|
|
90292
90310
|
}
|
|
90293
90311
|
]
|
|
@@ -90301,9 +90319,12 @@
|
|
|
90301
90319
|
"value": [
|
|
90302
90320
|
"第一种用法中,`keyObj` 是表示键的标量或向量,`valueObj` 是表示值的标量或向量。",
|
|
90303
90321
|
"",
|
|
90304
|
-
"第二种用法中,`keyType` 是字典键的数据类型; `valueType` 是字典值的数据类型。系统支持以下键的数据类型:Logical, Integral, Floating和Temporal
|
|
90322
|
+
"第二种用法中,`keyType` 是字典键的数据类型; `valueType` 是字典值的数据类型。系统支持以下键的数据类型:Logical, Integral, Floating和Temporal。字典中的值不支持 COMPLEX, POINT 和 Decimal 类别。",
|
|
90323
|
+
"",
|
|
90324
|
+
"`sharedName` 为一个字符串。指定后此字典会被共享,共享的字典名为sharedName。",
|
|
90305
90325
|
"",
|
|
90306
|
-
"
|
|
90326
|
+
"ordered 一个布尔值,默认为 false,表示创建一个无序字典。当 ordered = true 时,创建一个有序字典。无序字典在输出或进行遍历时,其键值对不保留输入时的顺序;有序字典在输出或进行遍历时,键值对的顺序与输入顺序保持一致。",
|
|
90327
|
+
""
|
|
90307
90328
|
]
|
|
90308
90329
|
}
|
|
90309
90330
|
]
|
|
@@ -90398,7 +90419,16 @@
|
|
|
90398
90419
|
" $ jobId4=submitJob(\"task2\",,task2,z2,n)",
|
|
90399
90420
|
" $ getJobReturn(jobId3, true)",
|
|
90400
90421
|
" $ getJobReturn(jobId4, true)",
|
|
90401
|
-
" $ z2;"
|
|
90422
|
+
" $ z2;",
|
|
90423
|
+
""
|
|
90424
|
+
]
|
|
90425
|
+
},
|
|
90426
|
+
{
|
|
90427
|
+
"type": "text",
|
|
90428
|
+
"value": [
|
|
90429
|
+
"相关函数",
|
|
90430
|
+
"",
|
|
90431
|
+
":doc:`../a/array`, :doc:`../m/matrix`, :doc:`../d/dictUpdate!`, :doc:`../d/dict`"
|
|
90402
90432
|
]
|
|
90403
90433
|
}
|
|
90404
90434
|
]
|
|
@@ -90766,13 +90796,13 @@
|
|
|
90766
90796
|
{
|
|
90767
90797
|
"type": "text",
|
|
90768
90798
|
"value": [
|
|
90769
|
-
"第一种用法中,`X`, `X1`, `X2` ...
|
|
90799
|
+
"第一种用法中,`X`, `X1`, `X2` ... 可以是向量、矩阵或元组。",
|
|
90770
90800
|
"",
|
|
90771
90801
|
"第二种用法中:",
|
|
90772
90802
|
"",
|
|
90773
90803
|
"`capacity` 是正整数,表示建表时系统为该表分配的内存(以记录数为单位)。当记录数超过 *capacity* 时,系统首先会分配 *capacity* 1.2~2倍的新的内存空间,然后复制数据到新的内存空间,最后释放原来的内存。对于规模较大的表,此类操作的内存占用会很高。因此,建议创建内存表时预先分配一个合理的 *capacity*。",
|
|
90774
90804
|
"",
|
|
90775
|
-
"`size` 是正整数,表示该表新建时的行数。若size=0,创建一个空表。 注意如果colTypes指定为数组向量,size必须为0。",
|
|
90805
|
+
"`size` 是正整数,表示该表新建时的行数。若 *size* =0,创建一个空表。 注意如果 *colTypes* 指定为数组向量, *size* 必须为0。",
|
|
90776
90806
|
"",
|
|
90777
90807
|
"`colNames` 是一个向量,表示列名。",
|
|
90778
90808
|
"",
|
|
@@ -90788,7 +90818,16 @@
|
|
|
90788
90818
|
{
|
|
90789
90819
|
"type": "text",
|
|
90790
90820
|
"value": [
|
|
90791
|
-
"
|
|
90821
|
+
"用法一:将单个或多个向量/矩阵/元组,或多个向量和元组的混合数据形式转换成表。",
|
|
90822
|
+
"",
|
|
90823
|
+
"注意:",
|
|
90824
|
+
"",
|
|
90825
|
+
"* 若 Xk 是普通元组,则其元素必须是等长的向量,长度等于表的行数。元组的每个元素将作为表的每列。",
|
|
90826
|
+
"* 若 Xk 是列式元组,则其元素可以不等长,但其元素的个数必须和表的行数保持一致。Xk 将单独作为表的一列(列类型为 ANY),其每个元素将作为该列每行的元素值。注意,只能通过用法一创建一个包含列式元组的表。",
|
|
90827
|
+
"",
|
|
90828
|
+
"DolphinDB 支持将元素不等长的普通元组自动识别为列式元组存储;对于元素等长的元组,必须通过 setColumnarTuple! 函数转化为列式元组才能将每个元素按行存储。",
|
|
90829
|
+
"",
|
|
90830
|
+
"用法二:创建一个固定数据类型的空表或初始化的表。"
|
|
90792
90831
|
]
|
|
90793
90832
|
}
|
|
90794
90833
|
]
|
|
@@ -91875,7 +91914,17 @@
|
|
|
91875
91914
|
"",
|
|
91876
91915
|
"`duration` 是一个整数或 DURATION 类型数据。",
|
|
91877
91916
|
"",
|
|
91878
|
-
"
|
|
91917
|
+
".. versionadded:: 1.30.13",
|
|
91918
|
+
" 参数 *unit*",
|
|
91919
|
+
"",
|
|
91920
|
+
".. versionadded:: 2.00.9",
|
|
91921
|
+
" 用户自定义交易日历",
|
|
91922
|
+
"",
|
|
91923
|
+
"`unit` 是一个字符串标量。它表示 *duration* 的单位或用户自定义交易日历的标识。",
|
|
91924
|
+
"",
|
|
91925
|
+
"- 若为 *duration* 单位,它的取值可以是:\"ns\"(nanosecond), \"us\"(microsecond), \"ms\"(millisecond), \"s\"(second), \"m\"(minute), \"H\"(hour), \"d\"(day), \"w\"(week), \"M\"(month), \"y\"(year), “B”(business day)。",
|
|
91926
|
+
"- 若需要根据交易日历的规则进行计算,须填写 *marketHolidayDir* 保存的文件名(即交易日历的标识)。",
|
|
91927
|
+
"- 当 *duration* 取 DURATION 类型数据时,该参数无需设置。",
|
|
91879
91928
|
"",
|
|
91880
91929
|
"注:时间单位为 year 或 month 时,计算结果与 mysql 保持一致。Pandas 提供了一个时间偏移对象(Date offsets)来完成时间偏移工作,当 DateOffset 参数取 months 或 years 时,与 ``temporalAdd`` 单位为 M 或 y 的计算结果也一致。"
|
|
91881
91930
|
]
|
|
@@ -96275,7 +96324,10 @@
|
|
|
96275
96324
|
"\"N\" nanosecond",
|
|
96276
96325
|
"================ =======================",
|
|
96277
96326
|
"",
|
|
96278
|
-
"
|
|
96327
|
+
".. versionadded:: 2.00.9 ",
|
|
96328
|
+
" 用户自定义交易日历",
|
|
96329
|
+
"",
|
|
96330
|
+
"`rule` 上述字符串亦可配合使用数字,例如 \"2M\" 表示频率为每两个月月末。此外,*rule* 也可指定为用户自定义交易日历的标识(配置参数 *marketHolidayDir* 指定目录下的文件名,系统将根据该交易日历进行计算)。",
|
|
96279
96331
|
"",
|
|
96280
96332
|
".. versionadded:: 2.00.6",
|
|
96281
96333
|
" 参数 *closed*, *label*, *origin*",
|
|
@@ -96310,7 +96362,7 @@
|
|
|
96310
96362
|
{
|
|
96311
96363
|
"type": "text",
|
|
96312
96364
|
"value": [
|
|
96313
|
-
"
|
|
96365
|
+
"将给定日期或时间变量转换为给定的时间格式(或对应的交易日)。结果长度与X相同。"
|
|
96314
96366
|
]
|
|
96315
96367
|
}
|
|
96316
96368
|
]
|
|
@@ -96393,13 +96445,13 @@
|
|
|
96393
96445
|
{
|
|
96394
96446
|
"type": "text",
|
|
96395
96447
|
"value": [
|
|
96396
|
-
"如果X是一个元组,每个向量的长度必须相同,*transpose* 函数返回的是一个与X中每个向量长度相同的元组,返回结果中的第n个元素是由X中每个向量的第n个值组成的向量。",
|
|
96448
|
+
"如果X是一个元组,每个向量的长度必须相同,*transpose* 函数返回的是一个与X中每个向量长度相同的元组,返回结果中的第 n 个元素是由 X 中每个向量的第 n 个值组成的向量。",
|
|
96397
96449
|
"",
|
|
96398
|
-
"如果X是一个矩阵,*transpose* 函数返回X的转置矩阵。",
|
|
96450
|
+
"如果X是一个矩阵,*transpose* 函数返回 X 的转置矩阵。",
|
|
96399
96451
|
"",
|
|
96400
|
-
"如果X是一个表,*transpose* 函数把表X
|
|
96452
|
+
"如果X是一个表,*transpose* 函数把表 X 转换为一个有序字典(从 2.00.9 版本开始支持有序字典),表中的列名为 key,每列的值为 value。",
|
|
96401
96453
|
"",
|
|
96402
|
-
"如果X是一个字典,它的key必须是STRING类型,*transpose* 函数把字典X转换为一个表,key为列名,每个key对应的value都是等长的向量,表示每列的值。"
|
|
96454
|
+
"如果 X 是一个字典,它的 key 必须是 STRING 类型,*transpose* 函数把字典 X 转换为一个表,key 为列名,每个 key 对应的 value 都是等长的向量,表示每列的值。"
|
|
96403
96455
|
]
|
|
96404
96456
|
}
|
|
96405
96457
|
]
|
|
@@ -96411,7 +96463,7 @@
|
|
|
96411
96463
|
{
|
|
96412
96464
|
"type": "text",
|
|
96413
96465
|
"value": [
|
|
96414
|
-
"例1. X是一个元组。",
|
|
96466
|
+
"例1. X 是一个元组。",
|
|
96415
96467
|
""
|
|
96416
96468
|
]
|
|
96417
96469
|
},
|
|
@@ -96517,11 +96569,11 @@
|
|
|
96517
96569
|
"language": "console",
|
|
96518
96570
|
"value": [
|
|
96519
96571
|
"",
|
|
96520
|
-
"
|
|
96521
|
-
"
|
|
96572
|
+
" transpose(t);",
|
|
96573
|
+
" timestamp->[09:34:07,09:36:42,09:36:51,09:36:59,09:32:47,09:35:26,09:34:16,09:34:26,09:38:12]",
|
|
96522
96574
|
" sym->[C,MS,MS,MS,IBM,IBM,C,C,C]",
|
|
96523
96575
|
" qty->[2200,1900,2100,3200,6800,5400,1300,2500,8800]",
|
|
96524
|
-
"
|
|
96576
|
+
" price->[49.6,29.46,29.52,30.02,174.97,175.23,50.76,50.32,51.29]",
|
|
96525
96577
|
""
|
|
96526
96578
|
]
|
|
96527
96579
|
},
|
|
@@ -98778,6 +98830,7 @@
|
|
|
98778
98830
|
" * 授权的节点个数(maxNodes),内存大小(maxMemoryPerNode),CPU 核数(maxCoresPerNode)不小于原 license 的授权。",
|
|
98779
98831
|
"",
|
|
98780
98832
|
"* 若原 license 授权模式(authorization)为 trial 和 site,则无法进行在线升级。",
|
|
98833
|
+
"* 从 1.30.21/2.00.9 版本开始,支持将 DolphinDB 进程绑定到具体的 CPU 内核上。若待升级 license 中修改了绑定核信息,则升级 license 后须重启 DolphinDB 以使 CPU 内核绑定的设置生效。",
|
|
98781
98834
|
"",
|
|
98782
98835
|
""
|
|
98783
98836
|
]
|
|
@@ -98792,24 +98845,24 @@
|
|
|
98792
98845
|
"type": "code",
|
|
98793
98846
|
"language": "console",
|
|
98794
98847
|
"value": [
|
|
98848
|
+
"",
|
|
98849
|
+
" $ updateLicense()",
|
|
98850
|
+
" authorization->commercial",
|
|
98851
|
+
" licenseType->0",
|
|
98852
|
+
" maxMemoryPerNode->32",
|
|
98853
|
+
" maxCoresPerNode->8",
|
|
98854
|
+
" clientName->test license",
|
|
98855
|
+
" bindCPU->true",
|
|
98856
|
+
" expiration->2022.03.01",
|
|
98857
|
+
" maxNodes->8",
|
|
98858
|
+
" version->",
|
|
98859
|
+
" modules->-1",
|
|
98795
98860
|
""
|
|
98796
98861
|
]
|
|
98797
98862
|
},
|
|
98798
98863
|
{
|
|
98799
98864
|
"type": "text",
|
|
98800
98865
|
"value": [
|
|
98801
|
-
" $ updateLicense()",
|
|
98802
|
-
" authorization->commercial",
|
|
98803
|
-
" licenseType->0",
|
|
98804
|
-
" maxMemoryPerNode->32",
|
|
98805
|
-
" maxCoresPerNode->8",
|
|
98806
|
-
" clientName->test license",
|
|
98807
|
-
" bindCPU->true",
|
|
98808
|
-
" expiration->2022.03.01",
|
|
98809
|
-
" maxNodes->8",
|
|
98810
|
-
" version->",
|
|
98811
|
-
" modules->-1",
|
|
98812
|
-
"",
|
|
98813
98866
|
".. meta::",
|
|
98814
98867
|
" :keywords: update, license"
|
|
98815
98868
|
]
|