新版本hdf5插件hdf5::loadHDF5Ex函数
提供了一个transform参数,在将数据导入数据库之前,若需要对数据进行预处理,例如转换日期和时间数据类型,填充空值等,可以在hdf5::loadHDF5Ex函数时指定transform参数。tansform参数接受一个函数作为参数,并且要求该函数只能接受一个参数。函数的输入是一个未分区的内存表,输出也是一个未分区的内存表。
tradingday、calendarday、time列可以使用temporalParse函数进行日期和时间类型数据的格式转换。再使用replaceColumn!函数替换表中原有的列。
def d2m(mutable t){ return t.replaceColumn!(`tradingday,t.tradingday.format("00000000").datetimeParse("yyyyMMdd")).replaceColumn!(`calendarday,t.calendarday.format("00000000").datetimeParse("yyyyMMdd")).replaceColumn!(`time,t.time.format("000000000").datetimeParse("HHmmssSSS")) } lst=exec tableName from hdf5::lsTable(dataFilePath) where tableType="H5T_COMPOUND" for(datasetName in lst) hdf5::loadHDF5Ex(db,`tick,`tradingday`instrument,dataFilePath,datasetName,,,,d2m)