4

我们正在使用 Elassandra(弹性搜索和 Cassandra)并使用 presto 查询弹性搜索索引。当我们使用 _count API 获取索引计数时,它每次都会正确,但是当我们使用 presto 查询索引以找出计数时,它会发生如下变化:

select count(*) from elasticsearch.my_schema.idx

索引映射如下图所示:

{
  "idx": {
    "mappings": {
      "my_table": {
        "properties": {
          "col1": {
            "type": "keyword",
            "cql_collection": "singleton",
            "cql_partition_key": true,
            "cql_primary_key_order": 0
          },
          "col2": {
            "type": "keyword",
            "cql_collection": "singleton"
          }
        }
      }
    }
  }
}

Presto 配置:1)elasticsearch.properties

connector.name=elasticsearch
elasticsearch.table-description-directory=etc/elasticsearch/
elasticsearch.scroll-size=1000
elasticsearch.scroll-timeout=30s
#elasticsearch.request-timeout=2s
elasticsearch.max-request-retries=10
elasticsearch.max-request-retry-time=90s
elasticsearch.max-hits=200000000

2)等/elasticsearch/table.json

{
  "tableName": "my_table",
  "schemaName": "my_schema",
  "host": "10.XXX.XXX.XXX",
  "port": "9300",
  "clusterName": "my cluster",
  "index": "idx",
  "type": "my_table",
  "columns": [
      {
          "name": "col1",
          "type": "varchar",
          "jsonPath": "col1",
          "jsonType": "keyword"
      },
      {
          "name": "col2",
          "type": "varchar",
          "jsonPath": "col2",
          "jsonType": "keyword"
      }
  ]
}

我们有 3 节点 elassandra 集群(3 节点弹性搜索集群)。此特定索引的分片 3 和复制 1。版本:

Persto - 0.218
Elassandra - 6.2.3.21
Kibana - 6.2.3

请帮忙。

4

0 回答 0