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的过程中也会发现一些功能不够完善的地方,比如数据源只能新增,不能编辑和删除操作等,后续这些问题都会陆续修复。

相关推荐
RestCloud3 天前
ETL是什么?全域数据集成平台核心能力解析
数据仓库·etl·数据清洗·数据处理·etlcloud·数据集成工具
Gent_倪3 天前
万字详解:数据库、数据仓库、数据湖、湖仓一体
数据库·数据仓库·spark
Microsoft Word3 天前
把RAG从 “能跑” 做到上线
数据仓库·人工智能
Database_Cool_4 天前
数据仓库弹性扩缩容怎么实现?AnalyticDB MySQL 在线扩容 0 中断实战
数据库·数据仓库·mysql·阿里云
APItesterCris4 天前
电商口碑自动化监控方案:30 分钟搭建商品评论实时采集 + 情感分析系统(完整可运行代码)
大数据·运维·数据仓库·自动化
香山上的麻雀10086 天前
Hive内部表(MANAGED_TABLE)的“批量删除分区”特性详解
数据仓库·hive·hadoop
石像鬼₧魂石6 天前
【Y2Ksoft】贵阳枫叶控股ERP管理系统 —— 管业制造 · 全链路数字化 · 开箱即用
大数据·数据仓库·数据库开发·数据库架构
石像鬼₧魂石6 天前
钢结构ERP管理系统 —— 玻璃拟态 · 单文件HTML(系统为开发测试虚拟数据)
大数据·数据仓库·制造·数据库开发·数据库架构
jjjava2.08 天前
SpringMVC入门指南:从零掌握核心要点
数据仓库·hive·hadoop
Jay_Franklin8 天前
Python 数据处理工作流:marimo、PyCharm 与数据存储
开发语言·数据仓库·ide·python·pycharm·数据分析·开源