如何在DolphinDB中为数组向量数据创建表?

问题描述 投票:0回答:1

如何使用 create 语句创建包含 arrayVector 列的表?

arrays create-table dolphindb
1个回答
0
投票

TSDB引擎支持创建包含arrayVector列的表。

您可以参考以下脚本:

dbName = "dfs://SH_TSDB_snapshot_ArrayVector"
tbName = "snapshot"
if(existsDatabase(dbName)){
 dropDatabase(dbName)
}
db1 = database(, VALUE, 2020.01.01..2021.01.01)
db2 = database(, HASH, [SYMBOL, 20])
db = database(dbName, COMPO, [db1, db2], , "TSDB")
schemaTable = table(
 array(SYMBOL, 0) as SecurityID,
 array(TIMESTAMP, 0) as DateTime,
 array(DOUBLE, 0) as PreClosePx,
 array(DOUBLE, 0) as OpenPx,
 array(DOUBLE, 0) as HighPx,
 array(DOUBLE, 0) as LowPx,
 array(DOUBLE, 0) as LastPx,
 array(INT, 0) as TotalVolumeTrade,
 array(DOUBLE, 0) as TotalValueTrade,
 array(SYMBOL, 0) as InstrumentStatus,
 array(DOUBLE[], 0) as BidPrice,
 array(INT[], 0) as BidOrderQty,
 array(INT[], 0) as BidNumOrders,
 array(INT[], 0) as BidOrders,
 array(DOUBLE[], 0) as OfferPrice,
 array(INT[], 0) as OfferOrderQty,
 array(INT[], 0) as OfferNumOrders,
 array(INT[], 0) as OfferOrders,
 array(INT, 0) as NumTrades,
 array(DOUBLE, 0) as IOPV,
 array(INT, 0) as TotalBidQty,
 array(INT, 0) as TotalOfferQty,
 array(DOUBLE, 0) as WeightedAvgBidPx,
 array(DOUBLE, 0) as WeightedAvgOfferPx,
 array(INT, 0) as TotalBidNumber,
 array(INT, 0) as TotalOfferNumber,
 array(INT, 0) as BidTradeMaxDuration,
 array(INT, 0) as OfferTradeMaxDuration,
 array(INT, 0) as NumBidOrders,
 array(INT, 0) as NumOfferOrders,
 array(INT, 0) as WithdrawBuyNumber,
 array(INT, 0) as WithdrawBuyAmount,
 array(DOUBLE, 0) as WithdrawBuyMoney,
 array(INT, 0) as WithdrawSellNumber,
 array(INT, 0) as WithdrawSellAmount,
 array(DOUBLE, 0) as WithdrawSellMoney,
 array(INT, 0) as ETFBuyNumber,
 array(INT, 0) as ETFBuyAmount,
 array(DOUBLE, 0) as ETFBuyMoney,
 array(INT, 0) as ETFSellNumber,
 array(INT, 0) as ETFSellAmount,
 array(DOUBLE, 0) as ETFSellMoney
)
db.createPartitionedTable(table=schemaTable, tableName=tbName, partitionColumns=`DateTime`SecurityID, compressMethods={DateTime:"delta"}, sortColumns=`SecurityID`DateTime, keepDuplicates=ALL)

您可以使用 INT[] 和 DOUBLE[] 来创建 arrayVector 列。

© www.soinside.com 2019 - 2024. All rights reserved.