参考https://www.dolphindb.cn/cn/h...,写函数如下: def lineCount(fileName){ h = file(fileName) bufSize = 102400 buf = array(CHAR, bufSize) lines = 0 do { numByte = h.read!(buf,0,bufSize) lines += sum(subarray(buf, 0 : numByte) == '\n') }while(numByte == bufSize) return lines }
回答于 2021-05-11 12:21
DolphinDB database从1.0版本开始,提供了启动脚本功能。用户可以通过配置参数startup来指定用户级的启动脚本,默认值是startup.dos。通过设定启动脚本,DolphinDB启动的时候会自动完成每次启动都需要执行的工作,譬如初始化流数据,定义共享变量,加载插件脚本等。具体请参阅https://github.com/dolphindb/...
回答于 2021-05-11 12:20
可以去掉data = select * from msg,减少复制一份数据 def fixNullDate(mutable TB,mutable msg) { if(msg.Date.hasNull()){ msg[`Date] = msg.Date.nullFill(today()) } TB.append!(msg) }
回答于 2021-05-11 12:14
这个在DolphinDB database的python api readme中有说明:由于Python pandas中所有有关时间的数据类型均为datetime64,上传一个DataFrame到DolphinDB以后所有时间类型的列均为nanotimestamp类型,因此在追加一个带有时间列的DataFrame时,我们需要在DolphinDB服务端对时间列进行数据类型转换:先将该DataFrame上传到服务端,...
回答于 2021-05-11 12:13
可以用DolphinDB database中并行处理的高价函数,如ploop, peach, pcall等。针对应用场景,可以每个因子做成一个函数。在message handler内部调用因子函数。
回答于 2021-05-11 12:11
iif(time.minute() between 08:45m : 13:45m, 1, 2)
回答于 2021-05-11 12:10
这个是因为scheduled Job中用到了ODBC插件函数,而odbc插件在系统启动时没有加载,所以读取scheduled job的时候,因无法识别这个函数。解决办法是在启动脚本中加入下面这行即可: loadPlugin("plugins/odbc/pluginOdbc.txt")
回答于 2021-05-11 12:09
试了一下,下面三种方法都可以: at(not isValid(a)) at(isNull(a)) at(a==NULL)
回答于 2021-05-11 12:07
删除之前,请释放mvcc表。 tt = NULL //或用下面语句 undef(`tt) 该表的释放将关闭与mvcc表关联的日志文件。
回答于 2021-05-11 12:06
一般的脚本语言都是逐条解释执行的。但这容易导致一个问题,运行时出现语法错误。所以DolphinDB database运行时,会对一段脚本先进行整体解析,如果有语法问题,譬如变量未定义,函数不存在,函数参数个数不正确等问题,直接报syntax error。如果没有问题,开始逐条执行。DolphinDB不一样,是先解析所有脚本,列出所有变量...
回答于 2021-05-11 12:05