可以设置preCache。enableTableShareAndPersistence(table, tableName, [asynWrite=true], [compress=true], [cacheSize=-1], [retentionMinutes=1440], [flushMode=0], [preCache]) preCache是一个整数,表示从硬盘加载到内存的记录条数。如果没有指定该参数,默认会把所有记录加载到内存中
回答于 2021-05-11 14:53
用select * from tableName不会返回所有的行。默认情况下,流计算的表把所有数据保存在内存中。如果流数据表太大,系统可能会出现内存不足的情况。为了避免内存不足的问题,我们可以设置缓存大小的界限。如果流数据表的行数达到这个界限,前面一半的记录行会从内存中清理。可以用getPersistenceMeta(table)观察一下。
回答于 2021-05-11 14:52
t1=select rowNo(id) as rownNo,id from tselect * from t1 where id = 2
回答于 2021-05-11 14:52
用mavg http://www.dolphindb.cn/cn/he... mavg((X1+X2)/2,N)
回答于 2021-05-11 14:25
假设表名是students,学生学号是id,四科成绩是score1, score2, score3, score4,用一个嵌套sql可以实现: select sum(p1), sum(p2), sum(p3), sum(p4) from (select last(score1) > last(prev(score1)) as p1, last(score2) > last(prev(score2)) as p2, last(score3) > last(prev(score3)) as p3, last(score4)...
回答于 2021-05-11 14:24
t=table(1..3 as id,2..4 as v1,3..5 as v2) t[`id`v1] 上述返回的是向量返回表可以如下: table(t[`id`v1])
回答于 2021-05-11 14:23
CSV文件的编码要转成utf-8。可参考https://github.com/dolphindb/... 的6.1节的说明。
回答于 2021-05-11 14:23
这大概是out of memory的原因,社区版总共只有4G内存,这个数据集就有2.5G,还有很多工作内存的需要。DolphinDB一般不是这种用法。如果只是把DolphinDB当数据库,客户端的query一次不要取这么大的数据。最佳的用法是直接在DolphinDB中用sql处理原始数据,然后把结果输出。这样DolphinDB不需要一次把全部数据读出来,它可以...
回答于 2021-05-11 14:22
第50到100行可以用 select top 50:100 * from table 前100行可以用 select top 100 * from table
回答于 2021-05-11 14:21