我目前正在评估一个3节点集群上的Kinetica DB for analytics项目,以便在其上构建一个自定义仪表板。
据我所知,有一种直接从数据节点检索记录的方法,称为“多头查找”。
在使用Java API时,它似乎只连接并请求来自第一个节点的数据(也使用Wireshark进行了检查)。你知道哪里出问题了吗?
该表在vendor_id和rate_code_id上被分片,当在管理UI中按下"dist"-button时,它显示所有内容都已正确分配。
这是我的DDL:
CREATE TABLE "demo"."nyctaxi_sharded"
(
"vendor_id" VARCHAR (4, shard_key) NOT NULL,
"pickup_datetime" TIMESTAMP NOT NULL,
"dropoff_datetime" TIMESTAMP NOT NULL,
"passenger_count" TINYINT NOT NULL,
"trip_distance" REAL NOT NULL,
"pickup_longitude" REAL NOT NULL,
"pickup_latitude" REAL NOT NULL,
"rate_code_id" SMALLINT (shard_key) NOT NULL,
"store_and_fwd_flag" VARCHAR (1) NOT NULL,
"dropoff_longitude" REAL NOT NULL,
"dropoff_latitude" REAL NOT NULL,
"payment_type" VARCHAR (16) NOT NULL,
"fare_amount" REAL NOT NULL,
"surcharge" REAL NOT NULL,
"mta_tax" REAL NOT NULL,
"tip_amount" REAL NOT NULL,
"tolls_amount" REAL NOT NULL,
"total_amount" REAL NOT NULL,
"cab_type" TINYINT NOT NULL
)
TIER STRATEGY (
( ( VRAM 1, RAM 5, PERSIST 5 ) )
);这是截取的Java代码:
GPUdb gpudb = new GPUdb("http://myserver:9191", new GPUdbBase.Options().setUsername("user").setPassword("pw"));
Type tableType = Type.fromTable(gpudb, "demo.nyctaxi_sharded");
RecordRetriever<GenericRecord> recordRetriever = new RecordRetriever<>(gpudb, "demo.nyctaxi_sharded", tableType);
List<List<Object>> lookupValues = Arrays.asList(
Arrays.asList("VENDOR1", 0),
Arrays.asList("VENDOR2", 0),
Arrays.asList("VENDOR3", 0),
Arrays.asList("VENDOR1", 1),
Arrays.asList("VENDOR2", 1),
Arrays.asList("VENDOR3", 1),
Arrays.asList("VENDOR1", 2),
Arrays.asList("VENDOR2", 2),
Arrays.asList("VENDOR3", 2));
lookupValues.forEach(lookup -> {
try {
GetRecordsResponse<GenericRecord> record = recordRetriever.getByKey(lookup, "");
System.out.println(record);
} catch (GPUdbException e) {
e.printStackTrace();
}
});一旦它起作用了,我想在一个预先计算的物化视图上使用这个查找。这个是可能的吗?
发布于 2021-03-03 02:21:19
确认核心文件(在服务器上,通常位于/opt/gpudb/ gpudb.conf /etc)具有:
enable_worker_http_servers = true
缺省情况下,这可以是"false“,如果是"false”,那么Java的RecordRetriever将只使用一个节点,这就是您所描述的您所看到的节点。
https://stackoverflow.com/questions/66439890
复制相似问题