通过logstash(6.8.6)将es(6.8.6)数据导入clickhouse

这篇具有很好参考价值的文章主要介绍了通过logstash(6.8.6)将es(6.8.6)数据导入clickhouse。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1. 编写logstash数据转换的配置文件export-csv.yml
    需要根据es中数据和导出的原始数据格式对应的clickhouse中字段类型对数据的要求在filter中对数据的处理
    input {
      elasticsearch {
        hosts => "localhost:9200"
    	index => "test"
      }
    }
    # 通过filter对数据做ETL以符合clickhouse要求
    filter {
      # 将long类型毫秒值转为指定时间格式
      ruby {
    	code => "event.set('timestamp',Time.at((event.get('timestamp').to_i)/1000).strftime('%Y-%m-%d %H:%M:%S'))"
      }
      # 将指定字段类型转为符合clickhouse要求的,需要根据es中数据和导出的原始数据格式对应的clickhouse中字段类型决定
      mutate {
        convert => {
          "dstType" => "integer"
          "downStreamOct" => "integer"
          "totalOct" => "integer"
          "upStreamOct" => "integer"
          "srcType" => "integer"
    	}
      }
    }
    output {
      csv {
    	fields => ["srcRegion","dstType","downStreamOct","totalOct","upStreamOct","srcType","timestamp"]
    	path => "/tmp/test.csv"
      }
    }
    
  2. 启动logstash,-f指定配置文件不使用logstash默认配置文件路径
    ./logstash-6.8.6/bin/logstash -f test.yml
  3. clickhouse中创建表,字段类型需要注意根据es中字段类型和es导出的数据格式决定,字段类型决定了可以写入clickhouse的该字段数据的格式
    CREATE TABLE traffic.traffic_monitor
    (
      -- 指定字段类型
      `srcRegion` String,
      `dstType` UInt8,
      `downStreamOct` UInt64,
      `totalOct` UInt64,
      `upStreamOct` UInt64,
      `srcType` UInt8,
      `timestamp` DateTime,
    )
    -- 指定存储引擎、分区字段和排序字段
    ENGINE = MergeTree()
    PARTITION BY toYYYYMMDD(timestamp)
    ORDER BY (timestamp)
    
  4. 通过csv文件将数据导入clickhouse
    csv首行有字段名称:clickhouse-client --query "INSERT INTO traffic.traffic_monitor FORMAT CSVWithNames" < test.csv
    csv首行无字段名称:clickhouse-client --query "INSERT INTO traffic.traffic_monitor FORMAT CSV" < test.csv

文章来源地址https://www.toymoban.com/news/detail-538883.html

到了这里,关于通过logstash(6.8.6)将es(6.8.6)数据导入clickhouse的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • clickhouse 数据导入导出操作

    在ClickHouse中处理CSV和TSV数据 ClickHouse支持从CSV导入和导出数据。由于 CSV 文件可以具有不同的格式细节,包括标题行、自定义分隔符和转义符号,因此 ClickHouse 提供了格式和设置来有效地解决每种情况。 从 CSV 文件导入数据 在导入数据之前,让我们创建一个具有相关结构的表

    2024年01月20日
    浏览(31)
  • clickhouse-数据导入导出方案

    clickhouse有多种数据的导入导出方式,可以灵活使用,下面对这些方式分别做些介绍,导入导出的写法与格式和格式设置有关。 详情可查看官网,也可以在这里获取数据集 s3的表达式如下 path — 包含文件路径的存储桶 URL。 这在只读模式下支持以下通配符:*、?、{abc,def} 和

    2024年02月12日
    浏览(38)
  • Clickhouse基础-导入导出数据

    https://blog.csdn.net/qq_39512532/article/details/127577952 注意:如果执行语句后面不加FORMAT CSV或FORMAT CSVWithNames,默认是t作为分隔符。只有指定FORMAT CSV或FORMAT CSVWithNames后,指定–format_csv_delimiter才生效。

    2024年02月11日
    浏览(36)
  • Logstash同步Mysql数据至ES

    官方文档 注意版本要和自己的es版本一致 下载地址:logstash 上传至服务器并进行解压。 1、通过官网下载mysql连接jar包 下载地址:mysql 连接jar包 根据自己mysql版本和系统进行选择 ​  ​   ​   ​   ​ 2、在IDEA中复制msyql连接jar包 ​   ​ 将jar包移动至/logstash/logstash-core/lib

    2024年02月10日
    浏览(31)
  • logstash同步mysql数据到es(三、es模板问题)

     相关问题汇总: logstash同步mysql数据到es(一、es模板问题,请求返回400) logstash同步mysql数据到es(二、jdbc_driver_library问题)_(please check user and group permissions for the p-CSDN博客 logstash同步mysql数据到es(三、es模板问题)-CSDN博客 使用docker实现logstash同步mysql到es-CSDN博客 [INFO ] 2023-12-11 09

    2024年01月17日
    浏览(36)
  • mysql同步数据到es之logstash

    1.使用 logstash 如果是历史数据同步我们可以用logstash,最快同步频率每分钟一次,如果对时效性要求高,慎用 2.使用 canal 实时同步,本文章未演示 logstash 特性: 无需开发,仅需安装配置logstash即可; 凡是SQL可以实现的logstash均可以实现(本就是通过sql查询数据) 支持每次全量同步或

    2023年04月08日
    浏览(35)
  • Logstash从mysql同步数据到es

    Logstash 是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。 Logstash 是一个功能强大的工具,可与各种部署集成。 它提供了大量插件,可帮助你解析,丰富,转换和缓冲来自各种来源的数据。 如果你的数

    2024年02月08日
    浏览(86)
  • Es elasticsearch 十八 Logstash 数据抽取工具

    目录 基础 启动命令 简单配置文件 控制台输入输出打印 input从log文件获取数据-如分布式日志收集 监听端口 filter过滤器 Grok 正则捕获 Output 输出到es 文件输入 es输出  获取日志中字段 level 基础 从原数据 获取数据  发送到 某地方 Input{}  filter{} output{} 输入  过滤  输出 启动命

    2024年02月11日
    浏览(29)
  • logstash同步数据从kafka到es集群

    背景:需求是这样的,原始文件是txt文件(每天300个文件),最终想要的结果是每天将txt中的数据加载到es中,开始的想法是通过logstash加载数据到es中,但是对logstash不太熟悉,不知道怎么讲程序弄成读取一个txt文件到es中以后,就将这个txt原始文件备份并且删除掉,然后就想

    2024年02月15日
    浏览(33)
  • Logstash:通过 lookups 来丰富数据

    如果你想了解更多关于 lookup 的内容,请参阅文章 “Elastic:开发者上手指南” 中的 “ 丰富数据及 lookup ” 章节。在今天的文章中,我来总结在 Logstash 中一些常用的 lookups。如下的这些插件可以帮助你使用附加信息丰富数据,例如 GeoIP 和用户代理信息: dns filter elasticsearch

    2023年04月13日
    浏览(19)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包