可以用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
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
的这个分区的所有数据,请问该怎么写查询语句?
可以用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