datax 持续数据同步_DataX数据同步
因为选择了ElasticSearch做全文检索,需要把数据从数据库同步到es,此处选择开源方案DataX作为数据同步工具。
官方文档很详细,可以直接参考。
DataXDataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。
下载安装
因为编译好的版本里面不包含elasticsearchwriter,所以选择下载代码自己编译打开项目编译mvn -U clean package assembly:assembly -Dmaven.test.skip=true
上传服务器并解压
dataX使用{
"job": {
"setting": {
"speed": {
"channel": 1,
// 设置传输速度,单位为byte/s,DataX运行会尽可能达到该速度但是不超过它
"byte": 1048576
},
// 出错限制
"errorLimit": {
//出错的record条数上限,当大于该值即报错。
"record": 0,
//出错的record百分比上限 1.0表示100%,0.02表示2%
"percentage": 0.02
}
},
"content": [
{
"reader": {
// 从drds读取数据
"name": "drdsreader",
"parameter": {
// 数据库用户名及密码
"username": "xxx",
"password": "xxx",
// 要同步的列
"column": [
"column1", "column2", "column3",
"column4"
],
// 筛选条件,可用做增量数据加载时
"where": "flag = 1",
"connection": [
{
// 表名
"table": [
"table1"
],
// 数据库连接
"jdbcUrl": [
"jdbc:mysql://ip:3306/xxx"
]
}
]
}
},
"writer": {
// 写出到es
"name": "elasticsearchwriter",
"parameter": {
// es连接地址
"endpoint": "http://ip:9200",
// http auth,如果没有就随便写,一定要写,不能为空
"accessId": "mock1",
"accessKey": "mock1",
// 导入到es的指定索引里
"index": "index1",
"type": "_doc",
"discovery": false,
"batchSize": 1000,
"splitter": ",",
// 指定列
"column": [
{"name": "column1", "type": "long"},
// 要做中文分词的列
{ "name": "column2","type": "text", "analyzer": "ik_max_word"},
{ "name": "column3","type": "text" },
{ "name": "column4","type": "integer" }
]
}
}
}
]
}
}
在dataX的bin目录下执行python datax.py {YOUR_JOB.json}
dataX遇到的问题
1.往ES传输数据报错经DataX智能分析,该任务最可能的错误原因是:
com.alibaba.datax.common.exception.DataXException: Code:[Framework-02], Description:[DataX引擎运行过程出错,具体原因请参看DataX运行结束时的错误诊断信息 .]. - java.lang.IllegalArgumentException: Preemptive authentication set without credentials provider
解决:一定要配置accessId和accessKey,如果不需要验证的话,随便配置都可以
2.数据导入ES失败
解决:不要配置Settings,先创建index,再用dataX导入
3.导入es时报错 Rejecting mapping update to [plc-admdvs] as the final mapping would have more than 1 type
解决:配置type: "_doc"
datax 持续数据同步_DataX数据同步相关推荐
- datax 持续数据同步_Datax 数据同步
官方Hello入门例子{ "job": { "content": [ { "reader": { "name": &qu ...
- datax 持续数据同步_采用DataX实现多表增量数据同步
这两天验证了一下阿里的DataX数据同步工具,觉得DataX可以用来做管理数据的多级数据同步.DataX用来做批量数据迁移很适合,能够保证数据的一致性,性能也很好,结合时间戳字段,用来实现数据定时增量 ...
- 使用datax同步cassandra数据
DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现各种异构数据源之间高效的数据同步功能.最近,阿里云cassandra团队为datax提供了cassandra读写插件,进一步丰富了d ...
- 大数据开发平台-数据同步服务
什么是数据同步服务?顾名思义,就是在不同的系统之间同步数据.根据具体业务目的和应用场景的不同,各种数据同步服务框架的功能侧重点往往不尽相同,因而大家也会用各种大同小异的名称来称呼这类服务,比如数据传输 ...
- BTC 复制节点(节点复制)复制区块数据,实现快速同步区块数据
背景:btc全节点的数据量是非常庞大的,为了加快同步区块数据的效率,我们有两种方式:1.搭建轻节点,2.复制已有节点的区块数据 需求:已有一个完整的BTC全节点,通过复制区块数据.达到快速搭建一个BT ...
- 大数据时代,数据实时同步解决方案的思考—最全的数据同步总结
1. 早期关系型数据库之间的数据同步 1).全量同步 比如从oracle数据库中同步一张表的数据到Mysql中,通常的做法就是 分页查询源端的表,然后通过 jdbc的batch 方式插入到目标表,这个 ...
- 企业级数据仓库:数据仓库概述;核心技术框架,数仓理论,数据通道Hive技术框架,HBase设计,系统调度,关系模式范式,ER图,维度建模,星型/雪花/星座模式,数据采集同步,业务数据埋点,数据仓库规范
文章目录 第一章 数据仓库概述 1.1 数据仓库简介 1.1.2 什么是数据仓库? 1.1.3 OLTP 与 OLAP 1.2 数据仓库技术架构 1.3 课程目标 第二章 核心技术框架 2.1 数据仓 ...
- 【Redis】Redis主从同步中数据同步原理
[Redis]Redis主从同步中数据同步原理 文章目录 [Redis]Redis主从同步中数据同步原理 1. 全量同步 1.1 判断是否第一次数据同步 2. 增量同步 3. 优化Redis主从集群 ...
- 大数据任务调度和数据同步组件初探
本文个人博客地址 本文公众号地址 背景 数据从最原始的状态,可能是一个 excel,一个文本,或者是来自业务数据库的数据,格式各种各样,落地到数据仓库.数据湖中,数据的同步过程 是必不可少的 图片来源 ...
最新文章
- 物理如何证明上帝的存在?
- 开发视频监控系统纪实 四 开康开发dll 修正
- JS中数组的常用方法
- Java并发编程-ReentrantLock可重入锁
- python抠图_python 网站自动抠图
- 毕业后拉开距离的真正原因!
- 【程序的流程】—— 顺序 / 分支 / 循环
- android源码编译的小小总结
- n倍角公式的行列式形式与证明
- RocketMQ之消费者顺序消费源码解析
- 笔记本锁定计算机功能键,如何锁上笔记本键盘_怎样锁定笔记本键盘
- java企业员工考勤请假工资人事管理系统springboot+vue
- 关于医学影像中的轴位面(横断面)、冠状面、矢状面的解释
- 前端个人长期的学习目标
- java 农历日期工具类
- redis统计用户日活量_使用redis统计用户日活、月活(实践版)
- PTA题目 查询水果价格
- Google最热门60款开源项目
- 机器翻译seq2seq+Attention(理论+代码)
- R语言-模型拟合及预测(新数据集)常见问题及解决方案