美文网首页
elastic学习

elastic学习

作者: waterchinap | 来源:发表于2018-12-25 19:55 被阅读0次

    elasticsearch学习资源很少,靠自己摸索。
    安装启用都很容易,在如何把大量数据导入ES中遇到了好多问题,想了好多办法。很难搞定。搞了一两天,才搞清楚如何把CSV导入到ELASTICSEARCH中去。
    把相关的记一下。

    logstash设置

    官方文档里说好多都是可选的,实际上,在配置文件中都要设置,不然出错。

    input {
        file {
            path => ["/home/eric/dashtest/toes.csv"]
            start_position => beginning #必然设置,而且这个beginning不能加引号,晕。
            sincedb_path => "/dev/null" #必须设置
        }
    }
    
    filter {
        csv {
            separator => ","
            # 本来想用官方文档中的一些设置,让logstash自动生成列名,但是试了多次不行,只能用这个最原始的方法,就是直接指定列名。注意列名用的列表,方括号。
            columns => [
                'ts_code',
                'ann_date',
                'end_date',
                'eps',
                ......
            ]
            #设置列的数据格式也是大坑,设置string格式通不过,反正默认是string所以只有把string格式的列名不设置就行了。
            convert => {
                "ann_date" => "date"
                "end_date" => "date"
                "eps" => "float"
                "dt_eps" => "float"
                ......
            }
        }
    }
    
    output {
        elasticsearch {
        hosts => ["127.0.0.1:9200"]
        index => "fina_indi"
        }
        stdout { codec => rubydebug }
    }
    
    
    

    经过这一阵子折腾,数据终于导进去了。

    其它方法

    由于logstash试了好几次都没有成功,查到了还可以用以下方法把csv导入es.

    • 利用python的elasticsearch库
    • 利用elastic 自己家的轻量化工具filebeat
    • 利用第三方工具,比如我查到的abc import, excelasitc.

    总的来说,所谓elk还是比较小众,解决问题不好找。后面kibana的使用也许会轻松一点。

    相关文章

      网友评论

          本文标题:elastic学习

          本文链接:https://www.haomeiwen.com/subject/vxrqlqtx.html