需求
计划写一系列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"
}