分区类型是hash,怎么得到某个分区的全部数据

小盘盘
  • 611

DolphindDB分布式表建库建表的代码如下,其中分区字段是nActionDay和szWindCode,分区类型分别是按月值分区和HASH分区:

def createDfsDB(dbPath,tbName,userName,userPass){
        login(userName, userPass)
        if(existsDatabase(dbPath)){
            dropDatabase(dbPath)
        }
        
        db1 = database(, VALUE, 2017.01M..2025.12M)
        db2 = database("", HASH,[SYMBOL,20])
        db = database(dbPath,COMPO, [db1,db2])
        columns = `szWindCode`nActionDay`nTime`nOpen`nHigh`nLow`nMatch`iVolume`iTurnover`bar_close`S_DQ_PRECLOSE`S_DQ_ADJFACTOR`HighLimit`LowLimit
        types = [SYMBOL,DATE,INT,INT,INT,INT,INT,INT,INT,BOOL,INT,DOUBLE,INT,INT]
        db.createPartitionedTable(table(100:0, columns,types),tbName, `nActionDay`szWindCode)
}

createDfsDB("dfs://marketdata","symbol_data",`admin,`123456)

在导入2020年1月的股市分钟k线数据后,我想得到路径为/202001M/key0
的这个分区的所有数据,请问该怎么写查询语句?

回复
阅读 780
1 个回答

可以用hashBucket得到hash值,代码如下:

symbol_data=loadTable("dfs://marketdata","symbol_data")
select * from symbol_data where nActionDay between 2020.01.01:2020.01.31 and   hashBucket(szWindCode,20)=0
宣传栏