目前python api还不支持windows上的python 3.8版本,只支持anaconda环境的python3.8
回答于 2021-06-29 17:13
要取消订阅后能从那时候的offset重新开始订阅,需要: 1.订阅时设置subscribeTable的参数offset为-2,persistOffset为true,表示持久化保存最新一条已经处理的订阅数据的偏移量。 2. 取消订阅时设置unsubscribeTable的参数removeOffset为false,即不删除持久化保存的最新一条已经处理订阅数据的偏移量
回答于 2021-06-29 17:10
请试试sqlUpdate函数https://www.dolphindb.cn/cn/help/FunctionsandCommands/FunctionReferences/s/sqlUpdate.html 在用户手册的最后有个对分布式表更新的例子如下: if(existsDatabase("dfs://db1")){ $ dropDatabase("dfs://db1") $ } $ n=1000000 $ t=table(take(`A`B`C`D,n) as symbol, rand(10.0, n) as value)...
回答于 2021-06-25 09:00
symbol类型是一种特殊的字符串类型,相当于枚举类型,数据在DolphinDB系统内部存储为一个整数,因此数据排序和比较更有效率。 使用symbol类型有可能提高系统性能,同时也可节省存储空间。 但是,将字符串映射到整数(hash)需要时间,哈希表也会占用内存。 以下规则可以帮助您决定是否使用symbol类型: 如果字符串数据较...
回答于 2021-06-23 16:51
你的lamba函数的输入x是一个table或database吗?我看你的代码其实想复制x,可以用copy函数 initFunc = copy
回答于 2021-06-22 21:50
可能是每批插入太多行了。一次性写入的记录是一个完整整体,要么全部从内存中删除,要么全部保留。DolphinDB的设计基于流数据不可能有一笔这么大的插入。一下子插入了一个非常大的记录,会把表的capacity撑大。等到下一次记录数目超过capacity后,才会清理内存。
回答于 2021-06-22 09:28
对的, A依旧会跑原本B的內容。function view序列化时,也会序列化其依赖函数的定义。
回答于 2021-06-22 09:26
假设msg是内存表。 msg = table(1..10000 as id, take(`a`b`c,10000) as name) bcond = msg.id>6000 and msg.name ==`a t1 = msg[at(bcond)] t2 = msg[at(!bcond)]
回答于 2021-06-22 09:25
DolphinDB中对脚本语句的执行分成三个阶段:预解析->解析->执行 1、预解析: 扫描函数定义; 2、解析: 注册所有变量,检查脚本中的语法错误及使用未定义变量等异常 3、执行: 生成动态变量及执行脚本。 注意在脚本解析时会事先将脚本中的变量进行注册,因此不能用define判断已经注册的变量是否被定义, 上述代码在...
回答于 2021-06-18 16:17