能否提供一个交易所level2快照数据的TSDB存储引擎的建库、建表demo脚本?

如题,因为TSDB存储引擎和OLAP存储引擎不太一样,所以能否提供一个demo的脚本学习

请先 登录 后评论

1 个回答

Jason Tang - 时序数据库技术支持

这个是上交所所有证券快照数据存储的一个demo脚本,仅供参考

login("admin", "123456")
//create snapshot_SH_L2_OLAP
dbName = "dfs://snapshot_SH_L2_TSDB"
tbName = "snapshot"
dbTime = database(, VALUE, 2021.01.01..2021.12.31)
dbSymbol = database(, HASH, [SYMBOL, 30])
if(existsDatabase(dbName)){
	dropDatabase(dbName)
}
db = database(dbName, COMPO, [dbTime, dbSymbol], , "TSDB")
name = `SecurityID`TradeTime`PreClosePx`OpenPx`HighPx`LowPx`LastPx`TotalVolumeTrade`TotalValueTrade`InstrumentStatus`BidPrice0`BidPrice1`BidPrice2`BidPrice3`BidPrice4`BidPrice5`BidPrice6`BidPrice7`BidPrice8`BidPrice9`BidOrderQty0`BidOrderQty1`BidOrderQty2`BidOrderQty3`BidOrderQty4`BidOrderQty5`BidOrderQty6`BidOrderQty7`BidOrderQty8`BidOrderQty9`BidOrders0`BidOrders1`BidOrders2`BidOrders3`BidOrders4`BidOrders5`BidOrders6`BidOrders7`BidOrders8`BidOrders9`BidOrders10`BidOrders11`BidOrders12`BidOrders13`BidOrders14`BidOrders15`BidOrders16`BidOrders17`BidOrders18`BidOrders19`BidOrders20`BidOrders21`BidOrders22`BidOrders23`BidOrders24`BidOrders25`BidOrders26`BidOrders27`BidOrders28`BidOrders29`BidOrders30`BidOrders31`BidOrders32`BidOrders33`BidOrders34`BidOrders35`BidOrders36`BidOrders37`BidOrders38`BidOrders39`BidOrders40`BidOrders41`BidOrders42`BidOrders43`BidOrders44`BidOrders45`BidOrders46`BidOrders47`BidOrders48`BidOrders49`OfferPrice0`OfferPrice1`OfferPrice2`OfferPrice3`OfferPrice4`OfferPrice5`OfferPrice6`OfferPrice7`OfferPrice8`OfferPrice9`OfferOrderQty0`OfferOrderQty1`OfferOrderQty2`OfferOrderQty3`OfferOrderQty4`OfferOrderQty5`OfferOrderQty6`OfferOrderQty7`OfferOrderQty8`OfferOrderQty9`OfferOrders0`OfferOrders1`OfferOrders2`OfferOrders3`OfferOrders4`OfferOrders5`OfferOrders6`OfferOrders7`OfferOrders8`OfferOrders9`OfferOrders10`OfferOrders11`OfferOrders12`OfferOrders13`OfferOrders14`OfferOrders15`OfferOrders16`OfferOrders17`OfferOrders18`OfferOrders19`OfferOrders20`OfferOrders21`OfferOrders22`OfferOrders23`OfferOrders24`OfferOrders25`OfferOrders26`OfferOrders27`OfferOrders28`OfferOrders29`OfferOrders30`OfferOrders31`OfferOrders32`OfferOrders33`OfferOrders34`OfferOrders35`OfferOrders36`OfferOrders37`OfferOrders38`OfferOrders39`OfferOrders40`OfferOrders41`OfferOrders42`OfferOrders43`OfferOrders44`OfferOrders45`OfferOrders46`OfferOrders47`OfferOrders48`OfferOrders49`NumTrades`IOPV`TotalBidQty`TotalOfferQty`WeightedAvgBidPx`WeightedAvgOfferPx`TotalBidNumber`TotalOfferNumber`BidTradeMaxDuration`OfferTradeMaxDuration`NumBidOrders`NumOfferOrders`WithdrawBuyNumber`WithdrawBuyAmount`WithdrawBuyMoney`WithdrawSellNumber`WithdrawSellAmount`WithdrawSellMoney`ETFBuyNumber`ETFBuyAmount`ETFBuyMoney`ETFSellNumber`ETFSellAmount`ETFSellMoney
type =`SYMBOL`TIMESTAMP`DOUBLE`DOUBLE`DOUBLE`DOUBLE`DOUBLE`INT`DOUBLE`SYMBOL`DOUBLE`DOUBLE`DOUBLE`DOUBLE`DOUBLE`DOUBLE`DOUBLE`DOUBLE`DOUBLE`DOUBLE`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`DOUBLE`DOUBLE`DOUBLE`DOUBLE`DOUBLE`DOUBLE`DOUBLE`DOUBLE`DOUBLE`DOUBLE`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`INT`DOUBLE`INT`INT`DOUBLE`DOUBLE`INT`INT`INT`INT`INT`INT`INT`INT`DOUBLE`INT`INT`DOUBLE`INT`INT`DOUBLE`INT`INT`DOUBLE
tbTemp = table(1:0, name, type)
db = database(dbName)
createPartitionedTable(dbHandle=db, table=tbTemp, tableName=tbName, partitionColumns=`TradeTime`SecurityID, compressMethods={TradeTime:"delta"}, sortColumns=`SecurityID`TradeTime, keepDuplicates=ALL)

loadTable(dbName, tbName).schema()

这里将sortColumns设置为`SecurityID`TradeTime,可以理解为每个分区内部对时间列、证券代码列又做了排序,相比OLAP存储引擎,TSDB存储引擎可以明显提升单点查询的效率。

请先 登录 后评论