DataX从入门到精通 第3课 ETL之DataX datax-web单表数据同步

1、创建项目

1)项目管理-》添加

2)项目列表

2、数据源管理

1)添加数据源test1

test1数据库中创建表student,然后插入几条数据。

复制代码
-- 创建 student 表
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
  `id` INT NOT NULL AUTO_INCREMENT COMMENT '学生ID',
  `name` VARCHAR(50) NOT NULL COMMENT '姓名',
  `sex` TINYINT NOT NULL COMMENT '性别(0:女,1:男)',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生信息表';

-- 插入几条测试数据
INSERT INTO `student` (`name`, `sex`) VALUES
('张三', 1),
('李四', 0),
('王五', 1),
('赵六', 0),
('孙七', 1);

2)添加数据源test2

3、 任务管理

1)DataX任务模板

2)任务构建

构建reader:从哪个数据源读取数据。

构建writer:将数据写入哪个数据源。

前置sql语句:前置sql在insert之前执行,如

复制代码
-- 关闭外键约束检查
SET FOREIGN_KEY_CHECKS = 0;

postSql:sql执行结束之后执行,如

复制代码
-- 重新开启外键约束检查
SET FOREIGN_KEY_CHECKS = 1;

字段映射

构建,点击构建后自动生成json,然后选择datax任务模板。

3)任务管理

构建成功的任务会展示在这里。

点击操作中的执行一次进行触发job

查看执行日志,任务执行失败,原因是我系统没有安装python2,只安装了python3。

改造执行器(步骤略),使其可以支持配置python的安装路径,在application.yml文件中添加python配置即可。

重写执行一次,成功执行任务

查看日志

查看test2中的student表,发现中文存在乱码,继续查找原因。

经查看任务配置文件中dbc连接中没有添加字符集编码,添加utf8即可,如

jdbc:mysql://127.0.0.1:3308/test1?useSSL=false&characterEncoding=utf8&useUnicode=true

在使用datax-web的过程中也会发现一些功能不够完善的地方,比如数据源只能新增,不能编辑和删除操作等,后续这些问题都会陆续修复。

相关推荐
躺柒1 小时前
读数据架构知识体系指南01关系数据仓库(上)
数据仓库·架构·数据分析·spark·数据湖·关系数据库·企业数据仓库
tianhuo0032 天前
从MySQL到Apache Doris:生鲜供应链数仓的ETL流水线与SARIMA需求预测全实
数据仓库·数据中台·零售行业供应链数字化
SendTomo2 天前
.ico透明图标在线生成下载平台深度解析
大数据·数据结构·数据库·数据仓库·个人开发
qingwufeiyang_5303 天前
IceBerg学习笔记2
数据仓库·数据湖
学代码的CJY5 天前
CJY 知识工作台:博客写作使用指南
数据仓库·知识图谱
喻师傅5 天前
Apache Hudi 概述:从 Parquet 更新难题到数据湖 Upsert
大数据·数据仓库·big data
宽海智能仓储物流8 天前
航发自动化立体库异构系统改造:宽海智能30天联调技术全解析
运维·数据仓库·自动化
2601_962284178 天前
基于Apache Cassandra与Python的数据建模及ETL实践
python·nosql·etl·数据建模·apachecassandra
程序员小羊!9 天前
医疗数据仓库ODS层敏感信息防护实战:7大关键策略
数据仓库
欢迎来到祖安!9 天前
企业微信 API 接口能力介绍:支持消息收发、图片发送、表情互动、联系人管理等多场景应用
java·前端·数据仓库·spring cloud·企业微信