DolphinDB的流数据表怎么查询

我有一个流数据表,然后

enableTableShareAndPersistence(tabletableName, [asynWrite=true], [compress=true], [cacheSize=-1], [retentionMinutes=1440], [flushMode=0])

我把cacheSize 设为100,000.
现在假设流进来的数据已经超过了100,000行, 也就是部分数据已经存入persisenceDir。如果用select * from tableName会不会返回所有的行?
问的原因,是因为我在考虑要不要单独建一个实时数据仓,来query所有已经流进来的数据。

请先 登录 后评论

1 个回答

Jason Tang - 时序数据库技术支持

用select * from tableName不会返回所有的行。默认情况下,流计算的表把所有数据保存在内存中。如果流数据表太大,系统可能会出现内存不足的情况。为了避免内存不足的问题,我们可以设置缓存大小的界限。如果流数据表的行数达到这个界限,前面一半的记录行会从内存中清理。
可以用getPersistenceMeta(table)观察一下。

请先 登录 后评论