数据查询时出现如下错误: 与查询相关的分区数量[274000]太大。请在 WHERE 子句中对分区列添加更具体的过滤条件,或者考虑更改配置参数 maxPartitionNumPerQuery 的值。 以下是我的脚本:
// Create a database
create database "dfs://stock_tick"
partitioned by VALUE(2020.01.01..2035.01.01), HASH([SYMBOL, 50]),
engine='TSDB',
atomic='TRANS',
chunkGranularity='TABLE'
// Create a table
create table "dfs://stock_tick"."tick_data" (
code SYMBOL[comment="Stock Code"],
market INT[comment="Market Code"],
date DATE[comment="Trading Date",compress="delta"],
time TIME[comment="Timestamp",compress="delta"],
close FLOAT[comment="Last Price"],
close_rate FLOAT[comment="Change Range"],
up_down FLOAT[comment="Change Amount"],
vol_ratio FLOAT[comment="Relative Ratio"]
)
partitioned by _"date",_"code"
sortColumns=["market","code","time"],
keepDuplicates=LAST
如果您的脚本的分区大小合理,则无需调整分区数量。要解决此错误,您可以修改dolphindb.cfg(对于独立模式)或cluster.cfg(对于集群模式)中的配置参数maxPartitionNumPerQuery来调整单个查询可以搜索的最大分区数。然后,重新启动系统以使更新生效。您还可以使用WHERE子句添加过滤条件,只读取满足指定条件的数据,而不是所有分区。