zoukankan      html  css  js  c++  java
  • 使用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插件放在dataxdataxpluginwriter。

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

  • 相关阅读:
    博客第一天
    页码始终下沉
    让作为背景图片的图片显示,上面的文字消失
    select清除原来样式
    文章查看更多时的文字变淡效果
    ul去除项目符号并删除其所占空间
    添加下划线的两种方法
    js之数组操作
    js之argument小解
    腾讯云服务器搭建
  • 原文地址:https://www.cnblogs.com/biehongli/p/14247832.html
Copyright © 2011-2022 走看看