zoukankan      html  css  js  c++  java
  • elasticsearch通过logstash去重数据

    下载与es对应版本的logstash

    下载地址:https://artifacts.elastic.co/downloads/logstash/logstash-6.7.1.tar.gz

    一、去重原理

    通过logstash将需要去重的索引导入新的索引,导入过程中为每个文档指定唯一id,文档数据相同时会自动过滤。

    二、去重步骤

    1.解压logstash-6.7.1.tar.gz

    tar -zxvf logstash-6.7.1.tar.gz

    2.写conf文件

    input {
      elasticsearch {
        hosts => "192.168.56.6" #es主节点ip
        index => "t_people_latlng20191101" #需要去重的索引
        query => '{ "sort": [ "_doc" ] }'
      }
    }
    
    filter {
        mutate {
            remove_field => ["@timestamp", "@version"] #去除多余字段
        }
        fingerprint {
            source => ["deviceid", "utc"]  #根据哪些字段去重,此处根据id和时间字段
            target => "[@metadata][fingerprint]"
            method => "MURMUR3"  #设置唯一id的方法
            concatenate_sources => true  #将多个字段拼接为唯一id
        }
    }
    output {
        stdout { codec => dots }  #输出打印
        elasticsearch {
            hosts => "192.168.56.6" #指定的es主节点ip
            index => "newt_people_latlng20191101"  #新的索引
            document_id => "%{[@metadata][fingerprint]}"
        }
    }

    3.执行conf文件

    cd logstash-6.7.1
    ./bin/logstash -f ship20201103.conf

    4.执行多个conf文件

    #!/bin/bash
    
    
    #要执行的conf文件目录
    cd "/data/es/logstash-6.7.1/conf"
    dir="/data/es/logstash-6.7.1/conf"
    files=`find . -name "ship*"`
    for file in $files
    do
       #执行多个conf,需要分别指定不同的data路径
        /data/es/logstash-6.7.1/bin/logstash -f $dir/$file --path.data  $dir/data/${file:2:12}
    done
  • 相关阅读:
    UVA 10970 Big Chocolate
    HBuilder 安装uviewui2.0
    域名访问配置支持ipv6
    SSIS学习视频(SQL Server 2008)
    碰到MySQL无法启动1067错误问题
    对存储过程进行加密和解密(SQL 2008/SQL 2012)
    脚本文件比较工具WinMerge
    通过SQL绘制杨辉三角
    通用分页存储过程(SQL Server 2005)
    重新组织和重新生成索引sp_RefreshIndex
  • 原文地址:https://www.cnblogs.com/asksk/p/15480502.html
Copyright © 2011-2022 走看看