随笔 - 597  文章 - 4  评论 - 445  阅读 - 424万

使用datax将mysql数据同步到ES 附elasticsearchwriter插件

1、使用datax工具将mysql数据库中的数据同步到elasticsearch中。DataX目前已经有了比较全面的插件体系,主流的RDBMS数据库、NOSQL、大数据计算系统都已经接入,目前支持数据如下图:

类型数据源Reader(读)Writer(写)文档
RDBMS 关系型数据库 MySQL
            Oracle         √         √    
  SQLServer
  PostgreSQL
  DRDS
  通用RDBMS(支持所有关系型数据库)
阿里云数仓数据存储 ODPS
  ADS  
  OSS
  OCS
NoSQL数据存储 OTS
  Hbase0.94
  Hbase1.1
  Phoenix4.x
  Phoenix5.x
  MongoDB
  Hive
  Cassandra
无结构化数据存储 TxtFile
  FTP
  HDFS
  Elasticsearch  
时间序列数据库 OpenTSDB  
  TSDB

可以看到Elasticsearch只支持写,但是不支持读的,如果支持从Elasticsearch读出来,写到mysql也是很好的哦!

2、datax的安装,配置就不写了,之前搞过,现在需要搞一个mysql写到elasticsearch的json。

复制代码
 1 {
 2     "job": {
 3         "setting": {
 4             "speed": {
 5                 "byte": 8388608,
 6                 "channel": 3
 7             },
 8             "errorLimit": {
 9                 "record": 0,
10                 "percentage": 0.02
11             }
12         },
13         "content": [{
14             "reader": {
15                 "name": "mysqlreader",
16                 "parameter": {
17                     "username": "账号",
18                     "password": "密码",
19                     "column": ["appkey"],
20                     "connection": [{
21                         "table": ["数据表名称"],
22                         "jdbcUrl": ["jdbc:mysql://ip地址:端口号/数据库名称"]
23                     }]
24                 }
25             },
26             "writer": {
27                 "name": "elasticsearchwriter",
28                 "parameter": {
29                     "endpoint": "http://ip地址:9200",
30                     "index": "shared_log", # 索引的名称
31                     "type": "doc", # 类型的名称
32                     "cleanup": false, #true表示插入前清空,即覆盖同步;false则追加同步
33                     "dynamic": true, #这里一定要指定为true,否则使用的是datax的模板,而不会使用es的模板
34                     "settings": {
35                         "index": {
36                             "number_of_shards": 12, # 分片的数量
37                             "number_of_replicas": 0 # 副本的数量
38                         }
39                     },
40                     "batchSize": 10000,
41                     "splitter": ",",
42                     "column": [{
43                         "name": "appkey", # 字段名称
44                         "type": "keyword" # 字段类型
45                     }]
46                 }
47             }
48         }]
49     }
50 }
复制代码

注意,需要搞一个elasticsearchwriter插件,将elasticsearchwriter插件放在datax\datax\plugin\writer。

关于elasticsearchwriter插件的打包方式参数:http://www.bubuko.com/infodetail-3663894.html

posted on   别先生  阅读(2483)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
历史上的今天:
2020-01-09 Java并发编程与高并发之线程安全策略
2020-01-09 Java并发编程与高并发之安全发布对象
2020-01-09 Java并发编程与高并发之线程安全性(原子性、可见性、有序性)
2017-01-09 基于jsp+servlet图书管理系统之后台用户信息删除操作
2017-01-09 基于jsp+servlet图书管理系统之后台用户信息修改操作
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示