DolphinDB表schema写法的问题

我想写一个schema, 正常情况下这么长,也不好维护:

table(`time`sym`last`qtrade`bid`qbid`ask`qask`bid2`qbid2`ask2`qask2`bid3`qbid3`ask3`qask3`bid4`qbid4`ask4`qask4`bid5`qbid5`ask5`qask5`bid6`qbid6`ask6`qask6`bid7`qbid7`ask7`qask7`bid8`qbid8`ask8`qask8`bid9`qbid9`ask9`qask9`bid10`qbid10`ask10`qask10 as name, `NANOTIME`STRING`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG`LONG as type)

有没有类似的:

.hkmd.schema: flip `origName`colName`colType ! flip (
    ("time";    `time;    "N");
    ("symbol";    `sym;    "*");
    ("last";    `trade;    "J");
    ("lastv";    `qtrade;    "J");
    ("bidp1";    `bid;    "J");
    ("bidv1";    `qbid;    "J");
    ("askp1";    `ask;    "J");
...
    ("askp10";    `ask10;    "J");
    ("askv10";    `qask10;    "J")
    );

就是想一列一列写出来。但是不是name全放在一起,type全放在一起。而是一行一个name,一个type,对应csv文件中的一列。这样有个对应,也好修改理解。比如,第一行,timeNANOTIME就是和第一列对应。在dophinDB里面试了几下,好像都没有试出来,有什么建议吗?

请先 登录 后评论

1 个回答

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

可以参考下面例子:

def createMarketStreamTable(tableName,capacity){
    st=streamTable(
array(SYMBOL,0) as Permission,
array(SYMBOL,0) as DataModel,
array(STRING,0) as IC,
array(SYMBOL,0) as DsplyNameLoc,
array(SYMBOL,0) as DsplyNameEn,
array(STRING,0) as DisplayTemplateID,
array(SYMBOL,0) as Currency,
array(SYMBOL,0) as CCYLoc,
array(SYMBOL,0) as BB,
array(SYMBOL,0) as InstruType,
array(STRING,0) as InstruDesc,
array(STRING,0) as ContributorID,
array(SYMBOL,0) as CtbtrLoc,
array(SYMBOL,0) as CtbtrLocC,
array(SYMBOL,0) as CtbtrNLoc,
array(SYMBOL,0) as CtbtrNEn,
array(SYMBOL,0) as OwnSite,
array(SYMBOL,0) as BkgdChn,
array(STRING,0) as SecurityID,
array(SYMBOL,0) as MnemonicC,
array(STRING,0) as BondName,
array(STRING,0) as BondFullName,
array(INT,0) as TrdType,
array(INT,0) as TradeMethod,
array(INT,0) as BidBargainFlag,
array(INT,0) as BidRelationFlag,
array(INT,0) as BidExerciseFlag,
array(INT,0) as AskBargainFlag,
array(INT,0) as AskRelationFlag,
array(INT,0) as AskExerciseFlag,
array(FLOAT,0) as WeightedAverageTradePx,
array(FLOAT,0) as WeightedAverageYield,
array(TIMESTAMP,0) as SumscopeLocalTime,
array(TIMESTAMP,0) as MarketDataTime,
array(INT,0) as BidPriceType,
array(INT,0) as AskPriceType,
array(INT,0) as PriceType,
array(INT,0) as MDPriceLevel,
array(FLOAT,0) as YldNetChg,
array(FLOAT,0) as TrdPxNetChg,
array(INT,0) as NumTrades,
array(INT,0) as BidQuoteStatus,
array(INT,0) as AskQuoteStatus,
array(SYMBOL,0) as MultiBidVolume,
array(SYMBOL,0) as MultiAskVolume,
array(STRING,0) as BidPriceDesc,
array(STRING,0) as AskPriceDesc,
array(INT,0) as InternalIC,
array(STRING,0) as MessageSeq,
array(INT,0) as DealStatus,
array(SYMBOL,0) as TradeInstitution,
array(DATE,0) as DeliveryDate,
array(TIME,0) as MDQuoteTime,
array(TIME,0) as MDValidUntilTime,
array(TIME,0) as ModifyTime,
array(INT,0) as WithinPeriodDeal,
array(SYMBOL,0) as Flag1,
array(SYMBOL,0) as Flag2,
array(SYMBOL,0) as Flag3,
array(SYMBOL,0) as Flag4,
array(SYMBOL,0) as Flag5,
array(STRING,0) as IDBBidRebate,
array(STRING,0) as IDBAskRebate,
array(STRING,0) as IDBRebate,
array(STRING,0) as IDBReturnPoint,
array(SYMBOL,0) as BidPartyName,
array(SYMBOL,0) as OfrPartyName,
array(STRING,0) as BidQuoteId,
array(STRING,0) as AskQuoteId,
array(SYMBOL,0) as DisplayListedMarket,
array(FLOAT,0) as PreWeightedAvgTradePx,
array(FLOAT,0) as PreWeightedAvgYld,
array(INT,0) as IDBSymbol,
array(TIME,0) as IDBBidCreateTime,
array(TIME,0) as IDBAskCreateTime,
array(STRING,0) as IDBDealStatus,
array(STRING,0) as IDBStatus,
array(STRING,0) as IDBInternally,
array(FLOAT,0) as Turnover,
array(SYMBOL,0) as ReferenceBMK,
array(INT,0) as CoupoundFrequency,
array(INT,0) as PaymentType,
array(SYMBOL,0) as BondNameEn,
array(FLOAT,0) as BidQuantity,
array(FLOAT,0) as AskQuantity,
array(INT,0) as MessageSeqNum,
array(INT,0) as IDBCompanyID,
array(STRING,0) as IDBBidReturnPoint,
array(STRING,0) as IDBAskReturnPoint,
array(SYMBOL,0) as BidYldCalculatedExerciseFlag,
array(SYMBOL,0) as AskYldCalculatedExerciseFlag,
array(SYMBOL,0) as YldCalculatedExerciseFlag,
array(FLOAT,0) as ModifiedDuration,
array(STRING,0) as AssetClassParentId,
array(FLOAT,0) as BidPx,
array(FLOAT,0) as OfferPx,
array(STRING,0) as InstruParentId,
array(FLOAT,0) as TradePx,
array(SYMBOL,0) as IssuerCode);

enableTableShareAndPersistence(st,tableName, false, true, capacity,100,0);
}
请先 登录 后评论