H5W3
当前位置:H5W3 > 其他技术问题 > 正文

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

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

本文地址:H5W3 » 分区类型是hash,怎么得到某个分区的全部数据

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址