Kibana:改善地理位置数据摄入 - 7.10

在 7.10 中,新用户,经验丰富的用户和地理空间分析师可以为之高兴! 它增强了文件摄取过程,以便自动为你映射文件中的经/纬度字段并分配正确的数据类型。 这是什么意思? 使用机器学习应用程序中 CSV 数据的文件上传界面,当数据集包含名为 latitude 和 longitude 的字段时,提取过程会自动将这些字段合并为 geo_point 位置字段。 如果你的字段具有无法识别的名称,则无需担心-你可以使用简单的界面自己添加新字段。 无需手动输入 JSON。

下面,我将以极易简单的例子来进行展示。我将使用 Elastic Stack 7.10 来进行展示。

首先,我们参照之前的文章 “Logstash:导入 zipcode CSV 文件和 Geo Search 体验” 下载 zipcode 的 CSV 文件:

git clone https://github.com/liu-xiao-guo/elasticzipcodes

这个 CSV 文件的格式如下:

从上面的表格中,我们可以看出来有两个字段:Longtitude 以及 Latitude 字段。我们可以使用如下的功能来把数据进行导入:

在上面我们可以清楚地看到:Latitude 以及 Logitude 被自动组合成为一个新的 geo_point 的数据类型。这个在之前的版本中是没有这个功能的。我们点击 Advanced:

在有些情况下,也许你的字段名称并不是标准的 Logititude 以及 Latitude。你可能是 Lat 及 Lon,那么机器学习可能并不能辨识你的这些字段。在这种情况下,我们可以点击 Add combined field 来创建一个字段:

如上所示,我们可以选择需要的字段,比如 Lat 及 Log。当然针对我们的情况,我们还是做如上所示的选择,因为这些都是仅有的选项。点击 Add 按钮:

如上图所示,经过我们的这番操作,我们可以看到有两个位置信息字段 location 已经 my_location。当然这个是为了说明问题,在实际的使用中,我们只需要一个位置信息字段即可。我们点击 Import 按钮。这样就完成了数据的导入。

我们可以在 Kibana 的 console 中通过如下的方式来查看 zipcodes 的 mapping:

GET zipcodes/_mapping

上面的命令显示:

{
  "zipcodes" : {
    "mappings" : {
      "_meta" : {
        "created_by" : "ml-file-data-visualizer"
      },
      "properties" : {
        "AreaCode" : {
          "type" : "long"
        },
        "Code" : {
          "type" : "long"
        },
        "Disabled" : {
          "type" : "boolean"
        },
        "Id" : {
          "type" : "long"
        },
        "Latitude" : {
          "type" : "double"
        },
        "Longitude" : {
          "type" : "double"
        },
        "Name" : {
          "type" : "keyword"
        },
        "ShortName" : {
          "type" : "keyword"
        },
        "Sort" : {
          "type" : "long"
        },
        "location" : {
          "type" : "geo_point"
        },
        "my_location" : {
          "type" : "geo_point"
        }
      }
    }
  }
}

我们可以看到之前定义的两个位置信息字段 location 以及 my_location。它们都是 geo_point 的数据类型。

已标记关键词 清除标记
相关推荐