主要用到了一个 JDBC importer for Elasticsearch的库。

想要增量同步,有一些先决条件。首先数据库中要维护一个update_time的时间戳,这个字段表示了该记录的最后更新时间。然后用上面的那个库,定时执行一个任务,这个任务中执行的sql就是根据时间戳判断该记录是否应该被更新。

这里先写一个最简单的例子来展示一下。

从上方插件官网中下载适合的dist包,然后解压。进入bin目录,可以看到一堆sh脚本。在bin目录下创建一个test.sh:

bin=/home/csonezp/Dev/elasticsearch-jdbc-2.3.1.0/bin
lib=/home/csonezp/Dev/elasticsearch-jdbc-2.3.1.0/libecho '{"type" : "jdbc","statefile" : "statefile.json","jdbc": {"url" : "jdbc:mysql://myaddr","user" : "myuser","password" : "mypwd","type" : "mytype","index": "myindex","schedule" : "0 * * * * ?","metrics" : {"enabled" : true},"sql" : [{"statement" : "select * from gd_actor_info where update_time > ?","parameter" : [ "$metrics.lastexecutionstart" ]}]}
}' | java \-cp "${lib}/*" \-Dlog4j.configurationFile=${bin}/log4j2.xml \org.xbib.tools.Runner \org.xbib.tools.JDBCImporter

schedule现在设置成每分钟都执行一次,是为了方便观察行为。statefile这一句是一定要加的。$metrics.lastexecutionstart就是这个脚本的关键所在了,这个指的是上一次脚本执行的时间,可以通过比较这个时间和数据库里的字段来判断是否要更新。

转载于:https://www.cnblogs.com/csonezp/p/5489344.html

Elasticsearch mysql 增量同步相关推荐

  1. Kafka实现MySQL增量同步

    目标 本文是对[1]的复现和整理 环境 组件 版本 Zookeeper 3.6.0 Kafka 2.5.0 Mysql 8.0.21-0ubuntu0.20.04.4 准备工作 分别新建两个数据库A和 ...

  2. mysql 分词搜索_实战 | canal 实现Mysql到Elasticsearch实时增量同步

    题记 关系型数据库Mysql/Oracle增量同步Elasticsearch是持续关注的问题,也是社区.QQ群等讨论最多的问题之一. 问题包含但不限于: 1.Mysql如何同步到Elasticsear ...

  3. 增量同步_实战 | canal 实现Mysql到Elasticsearch实时增量同步

    题记 关系型数据库Mysql/Oracle增量同步Elasticsearch是持续关注的问题,也是社区.QQ群等讨论最多的问题之一. 问题包含但不限于: 1.Mysql如何同步到Elasticsear ...

  4. mysql增量同步kafka_MySQL数据实时增量同步到Kafka - Flume

    写在前面的话 需求,将MySQL里的数据实时增量同步到Kafka.接到活儿的时候,第一个想法就是通过读取MySQL的binlog日志,将数据写到Kafka.不过对比了一些工具,例如:Canel,Dat ...

  5. mysql条件增量同步命令_DataX3 Mysql增量同步ES

    1.下载DataX 2.修改pom.xml wiriter部分我保留了 mysqlwriter txtfilewriter streamwriter elasticsearchwriter 3.mav ...

  6. datax实现mysql增量同步_datax 3.0配合crontab实现数据定时增量同步

    使用datax 实现数据增量同步踩坑记录 前提概要 由于项目上需要将a服务器数据同步至b服务器,一开始使用mysql主从复制,但是由于主从同步无法触发位于b服务器的触发器,只能放弃此方案.后来找到了d ...

  7. mysql增量同步_在两个MySQL数据库之间实现数据增量同步

    在线QQ客服:1922638 专业的SQL Server.MySQL数据库同步软件 在两个数据库中实现数据增量同步,令数据库之间的数据能够同步更新. Oracle数据库IP:192.168.0.1(源 ...

  8. mysql增量同步kafka_canal解析mysql的binlog实时推送到kafka

    今天整理一下以前写的一个kafka消费canal的demo,实现实时推送数据到kafka.首先先介绍一下canal,官网是这么说的: 主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和 ...

  9. Clickhouse单机部署以及从mysql增量同步数据

    背景: 随着数据量的上升,OLAP一直是被讨论的话题,虽然druid,kylin能够解决OLAP问题,但是druid,kylin也是需要和hadoop全家桶一起用的,我也搞不定,那只能找我能搞定的技术 ...

  10. clickhouse 增量更新_Clickhouse單機部署以及從mysql增量同步數據

    背景: 隨着數據量的上升,OLAP一直是被討論的話題,雖然druid,kylin能夠解決OLAP問題,但是druid,kylin也是需要和hadoop全家桶一起用的,我也搞不定,那只能找我能搞定的技術 ...

最新文章

  1. Android多工程(project)开发实例
  2. 1月4日链接篇:ASP.NET, ASP.NET AJAX, ASP.NET MVC, Visual Studio, IIS7
  3. Android_神奇的android:clipChildren属性
  4. unity鼠标控制镜头旋转_Unity3D实现鼠标控制视角转动|chu
  5. 系统服务有多个mysql_windows系统中安装多个Mysql服务
  6. 【转】GigE Vision简介
  7. python入门经典27版_【python】编程语言入门经典100例--27
  8. 京东末位淘汰 10% 高管:稳定不是常态,淘汰才是
  9. oracle的表空间的检查,oracle数据库检查所有表空间使用率的脚本
  10. IntelliJ IDEA 2018.2支持Java 11、MacBook Touch Bar等新特性
  11. Qt QLabel 文字滚动 滚动字幕
  12. C语言 常用标准库函数 初学者常用
  13. 网易云解析接口PHP源码,网易云音乐直链解析API源代码^-^
  14. pyaudio模块 python_python无法安装pyaudio模块
  15. 去除加粗的css,css如何取消加粗
  16. 2021-2027全球及中国油田钻机行业研究及十四五规划分析报告
  17. app小程序手机端Python爬虫实战11实现自动化登录考研帮app并滑动资讯信息
  18. 【Windows】之电脑之间共享文件(亲测可行)
  19. 【C++初阶:STL简介】
  20. 东北大学——考研复试——计算机网络——2014年

热门文章

  1. 如何禁用 7 个完全不必要的设置来优化 Mac?
  2. CSV Converter Pro for Mac(CSV数据转换工具)
  3. RDS数据订阅服务使用说明
  4. ObjC解码汉字网页乱码问题
  5. 《嵌入式设备驱动开发精解》——1.1 本书内容的组织
  6. linux 命令 —— pwd
  7. WAS7.0安装补丁升级程序无法替换文件 java/docs/autorun.inf解决办法
  8. ubuntu 上搭建lanp环境
  9. Oracle RMAN完全恢复案例(二)
  10. c#中Split用法总结