如何通过 Claude Code 来写入 CSV 数据到 Elasticsearch

如何通过 Claude Code 来写入 CSV 数据到 Elasticsearch

在我之前的文章 “Elastic 的 AI agent skills”,我们谈到了如何安装所需要的 skills 到 Claude Code 里去。在今天的 demo 里,我们来展示如何把 CSV 数据写入到 Elasticsearch 中去。

https://www.bilibili.com/video/BV1Uejq6aEpw/

准备数据

我们准备了如下的 data.csv 数据:

data.csv

name,age,address,sex,date_of_birth,location Alice Chen,28,"San Francisco, CA",F,1998-03-12,"{'lat': 37.7749, 'lon': -122.4194}" Bob Smith,34,"San Jose, CA",M,1992-07-05,"{'lat': 37.3382, 'lon': -121.8863}" Cathy Wong,25,"Oakland, CA",F,2001-11-22,"{'lat': 37.8044, 'lon': -122.2712}" David Lee,41,"Mountain View, CA",M,1985-01-18,"{'lat': 37.3861, 'lon': -122.0839}" Eva Brown,30,"Palo Alto, CA",F,1996-05-09,"{'lat': 37.4419, 'lon': -122.143}" Frank Zhang,29,"Sunnyvale, CA",M,1997-09-14,"{'lat': 37.3688, 'lon': -122.0363}" Grace Kim,27,"Santa Clara, CA",F,1999-12-30,"{'lat': 37.3541, 'lon': -121.9552}" Henry Liu,38,"Fremont, CA",M,1988-04-03,"{'lat': 37.5485, 'lon': -121.9886}" Ivy Patel,32,"Berkeley, CA",F,1994-08-27,"{'lat': 37.8715, 'lon': -122.273}" Jack Wilson,45,"Redwood City, CA",M,1981-06-15,"{'lat': 37.4852, 'lon': -122.2364}"

为 VSCode 安装 Agent skills

我们需要按照文章 “Elastic 的 AI agent skills” 来安装所需要的 agent skills 到 Claude Code 中去。我们查看一下如下的 skills:

我们可以看到有一个叫做 ingest.js 的文件。它可以被用来写入文件。

启动 VSCode

在启动 VSCode 之前,我们打入如下的命令:

$ pwd /Users/liuxg/python/ingest_data $ export ELASTICSEARCH_URL="https://localhost:9200" $ export ELASTICSEARCH_API_KEY="eTFzMDNwNEJXcjRUUlhpZ01mMVQ6X29hbFY3MElMbWVSV3lWV05rWFBwZw==" $ export ELASTICSEARCH_INSECURE="true"

启动完 VSCode 后,我们来检查我们的连接是否成功:

上面表面我们的连接是成功的。我们使用如下的提示来写入 data.csv 文件:

Please treat location field as geo_point data type. Ingest the data.csv file into Elasticsearch

我们看到数据已经写入成功。我们可以在 Kibana 中进行查看:

我们可以看到有 10 个文档已经被成功地写入。它的 mapping 是:

Use esql skill to do some basic EDA on index people.

EDA: exploratory data analysis

Create a dashboard for people index with serveral panels using kibana-dashboard skill

如上所示,我们得到了一个上面的链接。点击上面的链接:

我们得到了如上所示的一个 Dashboard。是不是很神奇啊?

在 agent skills 里还有很多其它的 skills。它能帮我们实现很多其它的功能。你们可以自己来研究。

祝大家学习愉快!