Logstash导入csv文件到ElasticSearch

本文介绍了如何使用Logstash将kaggle的Movies Dataset中的数据导入到ElasticSearch,重点讲解Logstash的数据处理流程、配置Pipeline、定义数据类型、避免重复导入的方法,并总结了Logstash在ETL过程中的优势。

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

需求

计划写一系列ElasticSearch如何快速搭建小型搜索系统的文章,需要一些实际数据来展示ElasticSearch的搜索原理,选择使用kaggle公开数据集Movies Dataset,由于是用来展示ElasticSearch的搜索原理,只保留id,name两列,使用Logstash将数据导入ElasticSearch。

Logstash原理

Logstash是一个开源的数据收集引擎,是ELK技术栈中的L。可以完成数据的ETL,方便的将数据导入ElasticSearch等。
Logstash数据处理流程有三个主要Stage,inputs → filters → outputs.

  • Inputs从文本,数据库等读取数据进来,每条记录为一个event
  • filter对数据做处理转换等操作,如分隔,小写等。
  • output将event写入数据持久化层。

数据导入步骤详解

配置Logstash的Pipeline

Logstash的Pipeline通过配置文件来配置,movie-pipeline.yml

input {
  file {
    path => ["/Users/dxi/data/movies_metadata.csv"]  
    start_position => "beginning"
  }
### 使用 Logstash 在 Windows 上导入 CSV 文件 为了在 Windows 环境下使用 Logstash 导入 CSV 文件Elasticsearch,需遵循特定配置流程并确保环境设置正确。 #### 安装 Java 和 Logstash 确认已安装适用于 Windows 的 JDK 或 JRE 版本。下载并解压适合操作系统的 Logstash 发行版到指定目录[^1]。 #### 配置 Logstash 输入插件 创建一个新的 `.conf` 文件用于定义输入源、过滤器以及输出目标。对于 CSV 文件的处理,通常采用如下结构: ```plaintext input { file { path => ["C:/path/to/csvfile.csv"] start_position => "beginning" sincedb_path => "/dev/null" #防止记录读取位置,每次启动都重新读取整个文件. } } filter { csv { separator => "," columns => ["column1", "column2"] # 替换为实际列名 } } output { elasticsearch { hosts => ["http://localhost:9200"] index => "csv_imported_data-%{+YYYY.MM.dd}" } } ``` 上述脚本指定了从本地磁盘路径加载 CSV 数据,并将其发送给运行在同一台机器上的默认端口上的 Elasticsearch 实例[^3]。 #### 执行命令启动 Logstash 打开命令提示符窗口,在其中导航到 Logstash 解压缩后的 bin 子目录内,执行以下指令来启动服务: ```shell .\logstash.bat -f C:\path\to\your_config_file.conf --config.reload.automatic ``` 此命令会告知 Logstash 加载自定义配置文件并允许自动重载配置更改而无需重启进程。 #### 查看数据是否成功导入 一旦完成以上步骤,可以通过浏览器访问 `http://localhost:9200/_cat/indices?v=true&pretty` 来验证索引是否存在;另外也可以借助 Kibana 工具或者 Chrome 浏览器中的 ElasticHead 插件直观展示存储于 ES 中的数据条目。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值