可以定义一个如下所示函数作为transform参数: def foo(mutable t){ return t.replaceColumn!(`time, nanotime(t.time)) } 也可参阅https://github.com/dolphindb/... 来实现。
回答于 2021-05-11 11:14
在将数据导入数据库之前,若需要对数据进行预处理,例如转换日期和时间数据类型,填充空值等,可以在调用loadTextEx函数时指定transform参数。过滤act列空值,可试试下面代码: def dataTrans(t){ return select * from t where !isNull(act) } loadTextEx(dbHandle=db,tableName='trade', partitionColumns='timestamp',...
回答于 2021-05-11 11:12
DolphinDB在节点之间默认使用UDP广播包进行心跳。对没配置默认网关的电脑,UDP广播会发包失败。解决方法1:agent.cfg和controller所在机器的cluster.cfg文件中加上配置项lanCluster=0解决方法2:配置相关电脑的默认网关,比如route add default gw 192.168.246.1
回答于 2021-05-11 11:08
股票,期货和期权是金融市场中最常见的资产类别。是否把这些不同资产的行情数据存储在DolphinDB database中同一个数据库,甚至同一个表?这是量化金融数据库设计经常碰到的问题。 建议设计不同的数据库来存储不同资产的数据。首先,时间维度上,单位时间内不同资产的数据量差别可能很大。其次,产品标识这个维度上,不同资...
回答于 2021-05-11 11:07
在将数据导入DolphinDB database中的数据库之前,若需要对数据进行预处理,例如转换日期和时间数据类型,填充空值等,可以在调用loadTextEx函数时指定transform参数。以上问题可以自定义函数进行处理,代码如下: schemaTb=extractTextSchema(path) def d2t(mutable t){ return t.replaceColumn!(`ts,temporalParse(t....
回答于 2021-05-11 11:05
可以用值分区,这样增加期权也不需要修改分区。值分区可以用参数配置自动扩展:newValuePartitionPolicy=add,这样有新的symbol进来,系统会自行增加分区。
回答于 2021-05-11 11:03
用exists(pluginPath)判断一下文件在不在。若不存在,检查确认一下这个文件是在dolphindb服务端主机上,而不是在GUI客户端这侧。若是用dolphindb安装包自带的mysql插件,可以用下列代码加载: loadPlugin(getHomeDir()+"/plugins/mysql/PluginMySQL.txt")
回答于 2021-05-11 11:02
sort(distinct(yearBegin(2020.01.01..2040.01.01))) 或者 date(datetimeAdd(2020.01M,0..20*12,'M'))
回答于 2021-05-11 11:00
hdf5文件中的时间戳数据是纳秒整数,分布式表是datetime,写入前需要进行转换。 t1=select Aval0,Aval1,Aval2,Aval3,Aval4,datetime(nanotimestamp(index)) as times from hdf5::loadHDF5( dataFilePath,datasetName) dfsTable=loadTable(dfsPath,"kline_eth_usd_kline") dfsTable.append!(t1)
回答于 2021-05-11 10:56
一开始单台服务器可以先部署成单机集群方式。 后期增加服务器按以下步骤实施: 1、controller上增加节点和新的agent配置; 2、在新机器上部署agent服务,与原服务器指向同一个controller; 3、如果是要不停机扩展的话,可以在配置完成之后,在线运行增加节点的函数addNode; 4、集群管理集上启动新增的节点。
回答于 2021-05-11 10:54