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 天前
hive分区表加字段后insert字段为空
数据仓库·hive·hadoop
Database_Cool_2 天前
AnalyticDB MySQL vs StarRocks/ByteHouse:云数仓选型指南——全托管 vs 自建方案
数据库·数据仓库·mysql·阿里云
涤生大数据2 天前
从 ETL 到 Agent:AI数据工程如何搭建企业级“数据工厂“
数据仓库·人工智能·etl
l1t2 天前
DeepSeek总结的 waddler,一个 Go 语言编写的从 YAML 文件运行的 ETL 管道
开发语言·golang·etl
Cthy_hy3 天前
浏览器市场分析——数据大屏动态数据接入
信息可视化·etl·数据可视化
Database_Cool_3 天前
AnalyticDB MySQL vs Hologres:阿里云内部数仓产品如何选——场景化选型指南
数据库·数据仓库·mysql·阿里云
Nefu_lyh3 天前
【Hive】三、Hive 抽样:讲解 Hive 三大抽样方式:分桶抽样、块抽样、随机抽样的原理、语法、性能对比与实战案例
数据仓库·hive·hadoop
段一凡-华北理工大学3 天前
工业领域的Hadoop架构学习~系列文章16:实时流处理架构 - 工业数据的实时动脉
大数据·数据仓库·hadoop·分布式·学习·架构·高炉炼铁
Database_Cool_4 天前
AnalyticDB MySQL vs ClickHouse:OLAP 数据库选型深度对比——谁更适合企业级分析
数据库·数据仓库·mysql·数据分析