最高效的办法,在sql语句的where子句中,用partition函数加一个过滤,譬如这个name用hashBucket获取值为5, partition(name, 5), 这样只会选择哈希值为5的分区。
login(`admin,`123456) n=10000 name="test"+string(rand(10, n)) x=rand(1.0, n) t=table(name, x) db=database("dfs://hashdb", HASH, [SYMBOL, 5]) pt = db.createPartitionedTable(t, `pt, `name) pt.append!(t) pt=loadTable(db,`pt) select * from pt where partition(name, hashBucket(`test5, 5))