Kibana: 运用 Data Visualizer 来分析 CSV 数据

本文详述了如何使用Kibana的DataVisualizer功能导入COVID-19数据,并通过定制索引映射和处理器,包括添加地理位置字段和时间戳,实现数据的高效存储与分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在我之前的文章 “运用Elastic Stack分析COVID-19数据并进行可视化分析”,我使用了 Beats 来导入 COVID-19 数据到 Elasticsearch。在那篇文章中,我们使用了pipeline 的processors 来分析数据。在那篇文章中,我们也同时指出了我们可以使用 Kibana 所提供的 Data Visualizer 来分析我们的数据。在今天的教程中,我们来展示如何使用。

首先我们打开Kibana:

我们点击上面的 Import a CSV, NDJSON, or log file:

点击 Select or drag and drop a file:

选择我们的CSV文档:

在上面我们可以看到被导入的所有的文档,也可以看到 Elastic 利用机器学习对数据的分析及统计情况:

我们点击上面页面中的 Override settings,并修改相应的字段的名称:

 

点击上面的 Import

我们输入 index name 为 covid,并点击 Advanced

我们在 Mappings 里修改 Lat 及 Lon 的数据类型为 float,及添加一个叫做 location 的字段。Mappings 的内容如下:

{
  "Confirmed": {
    "type": "long"
  },
  "Region": {
    "type": "keyword"
  },
  "Deaths": {
    "type": "long"
  },
  "Lat": {
    "type": "float"
  },
  "Lon": {
    "type": "float"
  },
  "Province": {
    "type": "keyword"
  },
  "Recovered": {
    "type": "long"
  },
  "Title": {
    "type": "text"
  },
  "X_1": {
    "type": "keyword"
  },
    "location": {
    "type": "geo_point"
  }
}

由于location是新增加的字段,那么我们需要ingest pipelines来对它进行处理:

{
  "processors": [
    {
      "append": {
        "field": "location",
        "value": ["{{Lat}},{{Lon}}"]
      }
    
    }
  ]
}

在上面我们可以看出来 location 的值为 Lat 及 Lon 两个字段的值组成的。

我们点击上面的 Import 按钮:

上面显示我们的数据已经被成功地导入进 Elasticsearch。

我们可以在 Kibana 中查看我们的数据:

我们可以看见新生成的叫做 covid 的一个索引。我们再来查看一下它的 mapping:

在上面我们可以看出来我们希望的索引的 mapping 是正确的。我们可以通过如下的指令来查看我们的数据:

GET covid/_search

在 Kibana 的 Discover中,我们也可以查看到所有的数据:

一旦数据进入到 Elasticsearch 中,我们可以仿照我们之前在文章 “Beats:运用Elastic Stack分析COVID-19数据并进行可视化分析” 介绍的方法来对数据进行展示和分析。这个练习就留给大家了。

更进一步

在上面的processor设计部分,我们只添加了一个 location 的字段。针对本次的设计我们是使用了其中的一天的 csv 文件。事实上,我们可以对每一天的数据都进行同样的处理。在这种情况下,我们需要多添加一个叫做 @timestamp 的字段,这样我们可以形成一个时间系列的索引数据,从而更好地分析每一天的数据。为此,我们需要修改我们的 processor为:

{
  "processors": [
    {
      {
       "set": {
        "field": "@timestamp",
        "value": "2020-03-15"
       }
      },
      "append": {
        "field": "location",
        "value": ["{{Lat}},{{Lon}}"]
      }    
    }
  ]
}

在上面,我们添加了一个叫做 @timestamp 的时间戳,表明当前数据的时间。这样我们就可以对这个时间系列的数据进行分析了。这个练习就留个大家来完成。

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值