zoukankan      html  css  js  c++  java
  • 使用datax将postgresql或者greenplum中的数据同步到elasticsearch

    1、使用datax工具将postgresql或者greenplum数据库中的数据同步到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读出来,写到postgresql或者greenplum也是很好的哦!

    2、datax的安装,配置就不写了,之前搞过,现在需要搞一个postgresql或者greenplum写到elasticsearch的json,需要注意的是需要安装一个postgresqlreader读插件的,将插件放到dataxdataxpluginreader中。

    然后,需要搞一个elasticsearchwriter写插件,将elasticsearchwriter插件放在dataxdataxpluginwriter中。

     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": "postgresqlreader",
    16                 "parameter": {
    17                     "username": "数据库账号",
    18                     "password": "数据库密码",
    19                     "connection": [
    20                         {
    21                             "querySql": [
    22                                 "SELECT "update_time","UserName","Age" from core_data.up_lic_data where "Id" > 1 and "ID" < 10000 limit 1000  ;"
    23                             ],
    24                             "jdbcUrl": ["jdbc:postgresql://数据库ip地址:数据库端口号/数据库名称"]
    25                         }
    26                     ]
    27                 }
    28             },
    29             "writer": {
    30                 "name": "elasticsearchwriter",
    31                 "parameter": {
    32                     "endpoint": "http://es主节点ip地址:es端口号",
    33                     "index": "user_info", // 索引名称
    34                     "type": "doc", // 文档类型
    35                     "cleanup": false, 
    36                     "dynamic": false,
    37                     "settings": {
    38                         "index": {
    39                             "number_of_shards": 5, // 分片数量
    40                             "number_of_replicas": 1 // 副本数量
    41                         }
    42                     },
    43                     "batchSize": 10000,
    44                     "splitter": ",",
    45                     "column": [
    46                         {
    47                             "name": "update_time",
    48                             "type": "keyword"
    49                         },{
    50                             "name": "UserName",
    51                             "type": "keyword"
    52                         },{
    53                             "name": "Age",
    54                             "type": "keyword"
    55                         }
    56                     ]
    57                 }
    58             }
    59         }]
    60     }
    61 }
  • 相关阅读:
    2021找工作总结
    HashMap源码(JDK1.8)-手动注释
    HashMap底层源码分析-手动注释
    面试常问的ArrayQueue底层实现
    SVN使用方法
    async await Task 使用方法
    视觉设备说明
    Java8--lambda表达式与函数式编程
    重磅!微软发布 vscode.dev,把 VS Code 带入浏览器!
    解决Vite-React项目中js使用jsx语法报错的问题
  • 原文地址:https://www.cnblogs.com/biehongli/p/14378136.html
Copyright © 2011-2022 走看看