当前位置: 首页 > article >正文

mysql 到 doris 挪移数据

工具datax.....

下载地址:http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz

下载以后解压:tar -xvzf datax.tar.gz

然后,理论上就可以直接使用了。但是,datax本身是python2写的,如果需要python3来执行,肯定会报错。

对于这个问题,可以用下面的方法解决:

DataX的python3使用-CSDN博客

当然,如果是python2来执行,此步骤直接跳过...

另外,datax说是python写的,但是其功能却并不是由python实现的,而是由java实现的。因此运行datax,需要先安装java....

首先,先看下自己系统的版本,再觉得安装哪个版本的java

我的是Ubuntu的虚拟机,x86_64的,因此需要下载:

连接:Java Downloads | Oracle 中国

放到虚拟机上,直接解压:

tar -xvzf  jdk-17.0.9_linux-x64_bin.tar.gz

完事以后,也不用干啥,配下环境变量就好。

vim ~/.bashrc

将下面的内容写入其中就好:(注意,jdk-17.0.9_linux-x64_bin.tar.gz文件解压到哪,JAVA_HOME就绑定啥路径,原则就是 JAVA_HOME/bin 目录就是 jdk-17.0.9_linux-x64_bin.tar.gz解压后的文件的bin目录,确保这个即可)

export JAVA_HOME=/usr/lib/jvm
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

完事以后记得执行:

source ~/.bashrc

然后,就可以看到:

java就算是安装完成了。

接下来,看datax要用的一个配置文件,这个文件由我们自定义,就是具体要干啥,需要给datax说清楚的意思。文件名无所谓,后缀需要是json

大致就是这个文件:

我是要从一mysql数据库将数据导入到Doris数据库。

这个json文件可以这么构建:

{"job": {"content": [{"reader": {"name": "mysqlreader","parameter": {"username": "具体的用户","password": "具体的password","column": ["start_time", "cluster", "hostname", "ip", "device", "used_time", "data_type", "end_time"],"connection": [{"jdbcUrl": ["jdbc:mysql://mysql_数据库_ip:3306/db_name"],"table": ["table_name"]}]}},"writer": {"name": "mysqlwriter","parameter": {"writeMode": "insert","username": "具体的用户","password": "具体的password","column": ["start_time", "cluster", "hostname", "ip", "device", "used_time", "data_type", "end_time"],"preSql": [],"postSql": [],"connection": [{"jdbcUrl": "jdbc:mysql://doris_数据库_ip:9030/db_name","table": ["table_name"]}]}}}],"setting": {"speed": {"channel": 3}}}
}

然后,就可以执行命令:python3 datax/bin/datax.py job.json

照理说,现在就能执行了,但是,我这里出现错误:

这个错,我最终执行命令:rm -rf datax/plugin/*/._*
解决了....

这里可以参考下:DataX3.0:深入探索与实战应用-CSDN博客 

然后,基本上就可以用了:

不过,最终,我这里的命令执行失败的,因为,我的虚拟机连接不到公司的数据库服务器,比较遗憾。但是,大致,应该是可用的。

后来,实践中,始终报这个错:

好吧,后来的后来.......

这是因为datax里面自带的mysql驱动太老旧了,导致始终无法连接到数据库。需要删除老的mysql驱动,换成新的mysql驱动就可以了。 

参照帖子:DataX同步mysql数据报错 无法连接mysql - 阿伦啊 - 博客园

换成这个就可以了。原始的太老了,是 mysql-connector-java-5.1.34.jar(删掉)

最后。。。。

$ python3 datax/bin/datax.py job.json DataX (DATAX-OPENSOURCE-3.0), From Alibaba !
Copyright (C) 2010-2017, Alibaba Group. All Rights Reserved.2025-03-14 19:11:54.552 [main] INFO  VMInfo - VMInfo# operatingSystem class => com.sun.management.internal.OperatingSystemImpl
2025-03-14 19:11:54.558 [main] INFO  Engine - the machine info  => osInfo:	Bisheng 11 11.0.12+9jvmInfo:	Linux amd64 4.19.90-2107.6.0.0100.oe1.bclinux.x86_64cpu num:	16totalPhysicalMemory:	-0.00GfreePhysicalMemory:	-0.00GmaxFileDescriptorCount:	-1currentOpenFileDescriptorCount:	-1GC Names	[G1 Young Generation, G1 Old Generation]MEMORY_NAME                    | allocation_size                | init_size                      CodeHeap 'profiled nmethods'   | 116.37MB                       | 2.44MB                         G1 Old Gen                     | 1,024.00MB                     | 970.00MB                       G1 Survivor Space              | -0.00MB                        | 0.00MB                         CodeHeap 'non-profiled nmethods' | 116.38MB                       | 2.44MB                         Compressed Class Space         | 1,024.00MB                     | 0.00MB                         Metaspace                      | -0.00MB                        | 0.00MB                         G1 Eden Space                  | -0.00MB                        | 54.00MB                        CodeHeap 'non-nmethods'        | 7.25MB                         | 2.44MB                         2025-03-14 19:11:54.576 [main] INFO  Engine - 
{"content":[{"reader":{"name":"mysqlreader","parameter":{"column":["start_time","cluster","hostname","ip","device","used_time","data_type","end_time"],"connection":[{"jdbcUrl":["jdbc:mysql://xxxxxx:3306/gpu_statistics?useSSL=false"],"table":["hachi_gpu_day_used_time"]}],"password":"****************","username":"root"}},"writer":{"name":"mysqlwriter","parameter":{"column":["start_time","cluster","hostname","ip","device","used_time","data_type","end_time"],"connection":[{"jdbcUrl":"jdbc:mysql://xxxxxxx:9030/smart_center?useSSL=false","table":["gpu_day_used_time_hachi_test"]}],"password":"**********","postSql":[],"preSql":[],"username":"root","writeMode":"insert"}}}],"setting":{"speed":{"channel":3}}
}2025-03-14 19:11:54.589 [main] WARN  Engine - prioriy set to 0, because NumberFormatException, the value is: null
2025-03-14 19:11:54.591 [main] INFO  PerfTrace - PerfTrace traceId=job_-1, isEnable=false, priority=0
2025-03-14 19:11:54.591 [main] INFO  JobContainer - DataX jobContainer starts job.
2025-03-14 19:11:54.592 [main] INFO  JobContainer - Set jobId = 0
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loads generally unnecessary.
2025-03-14 19:11:54.983 [job-0] INFO  OriginalConfPretreatmentUtil - Available jdbcUrl:jdbc:mysql://172.22.20.8:3306/gpu_statistics?useSSL=false&yearIsDateType=false&zeroDateTiminyInt1isBit=false&rewriteBatchedStatements=true.
2025-03-14 19:11:55.005 [job-0] INFO  OriginalConfPretreatmentUtil - table:[hachi_gpu_day_used_time] has columns:[id,hostname,ip,device,used_time,start_time,end_time,cluster,dat
2025-03-14 19:11:55.540 [job-0] INFO  OriginalConfPretreatmentUtil - table:[gpu_day_used_time_hachi_test] all columns:[
start_time,cluster,hostname,ip,device,used_time,data_type,end_time
].
2025-03-14 19:11:55.574 [job-0] INFO  OriginalConfPretreatmentUtil - Write data [
insert INTO %s (start_time,cluster,hostname,ip,device,used_time,data_type,end_time) VALUES(?,?,?,?,?,?,?,?)
], which jdbcUrl like:[jdbc:mysql://172.22.16.154:9030/smart_center?useSSL=false&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatem
2025-03-14 19:11:55.575 [job-0] INFO  JobContainer - jobContainer starts to do prepare ...
2025-03-14 19:11:55.575 [job-0] INFO  JobContainer - DataX Reader.Job [mysqlreader] do prepare work .
2025-03-14 19:11:55.575 [job-0] INFO  JobContainer - DataX Writer.Job [mysqlwriter] do prepare work .
2025-03-14 19:11:55.576 [job-0] INFO  JobContainer - jobContainer starts to do split ...
2025-03-14 19:11:55.576 [job-0] INFO  JobContainer - Job set Channel-Number to 3 channels.
2025-03-14 19:11:55.581 [job-0] INFO  JobContainer - DataX Reader.Job [mysqlreader] splits to [1] tasks.
2025-03-14 19:11:55.582 [job-0] INFO  JobContainer - DataX Writer.Job [mysqlwriter] splits to [1] tasks.
2025-03-14 19:11:55.599 [job-0] INFO  JobContainer - jobContainer starts to do schedule ...
2025-03-14 19:11:55.603 [job-0] INFO  JobContainer - Scheduler starts [1] taskGroups.
2025-03-14 19:11:55.604 [job-0] INFO  JobContainer - Running by standalone Mode.
2025-03-14 19:11:55.609 [taskGroup-0] INFO  TaskGroupContainer - taskGroupId=[0] start [1] channels for [1] tasks.
2025-03-14 19:11:55.615 [taskGroup-0] INFO  Channel - Channel set byte_speed_limit to -1, No bps activated.
2025-03-14 19:11:55.615 [taskGroup-0] INFO  Channel - Channel set record_speed_limit to -1, No tps activated.
2025-03-14 19:11:55.646 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[0] attemptCount[1] is started
2025-03-14 19:11:55.651 [0-0-0-reader] INFO  CommonRdbmsReader$Task - Begin to read record by Sql: [select start_time,cluster,hostname,ip,device,used_time,data_type,end_time fro 
] jdbcUrl:[jdbc:mysql://172.22.20.8:3306/gpu_statistics?useSSL=false&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true].
2025-03-14 19:12:05.633 [job-0] INFO  StandAloneJobContainerCommunicator - Total 0 records, 0 bytes | Speed 0B/s, 0 records/s | Error 0 records, 0 bytes |  All Task WaitWriterTitReaderTime 0.000s | Percentage 0.00%
2025-03-14 19:12:15.645 [job-0] INFO  StandAloneJobContainerCommunicator - Total 12800 records, 856913 bytes | Speed 83.68KB/s, 1280 records/s | Error 0 records, 0 bytes |  All s |  All Task WaitReaderTime 0.150s | Percentage 0.00%
2025-03-14 19:12:25.646 [job-0] INFO  StandAloneJobContainerCommunicator - Total 25088 records, 1683744 bytes | Speed 80.75KB/s, 1228 records/s | Error 0 records, 0 bytes |  All91s |  All Task WaitReaderTime 0.176s | Percentage 0.00%
2025-03-14 19:12:35.647 [job-0] INFO  StandAloneJobContainerCommunicator - Total 37376 records, 2513454 bytes | Speed 81.03KB/s, 1228 records/s | Error 0 records, 0 bytes |  All62s |  All Task WaitReaderTime 0.216s | Percentage 0.00%
2025-03-14 19:12:45.648 [job-0] INFO  StandAloneJobContainerCommunicator - Total 51712 records, 3466011 bytes | Speed 93.02KB/s, 1433 records/s | Error 0 records, 0 bytes |  All69s |  All Task WaitReaderTime 0.265s | Percentage 0.00%
2025-03-14 19:12:55.650 [job-0] INFO  StandAloneJobContainerCommunicator - Total 66048 records, 4430671 bytes | Speed 94.21KB/s, 1433 records/s | Error 0 records, 0 bytes |  All83s |  All Task WaitReaderTime 0.312s | Percentage 0.00%
2025-03-14 19:13:05.651 [job-0] INFO  StandAloneJobContainerCommunicator - Total 80384 records, 5391333 bytes | Speed 93.81KB/s, 1433 records/s | Error 0 records, 0 bytes |  All52s |  All Task WaitReaderTime 0.358s | Percentage 0.00%
2025-03-14 19:13:15.652 [job-0] INFO  StandAloneJobContainerCommunicator - Total 94720 records, 6345816 bytes | Speed 93.21KB/s, 1433 records/s | Error 0 records, 0 bytes |  All71s |  All Task WaitReaderTime 0.410s | Percentage 0.00%
2025-03-14 19:13:25.653 [job-0] INFO  StandAloneJobContainerCommunicator - Total 109056 records, 7314509 bytes | Speed 94.60KB/s, 1433 records/s | Error 0 records, 0 bytes |  Al705s |  All Task WaitReaderTime 0.444s | Percentage 0.00%
2025-03-14 19:13:35.655 [job-0] INFO  StandAloneJobContainerCommunicator - Total 121344 records, 8131830 bytes | Speed 79.82KB/s, 1228 records/s | Error 0 records, 0 bytes |  Al155s |  All Task WaitReaderTime 0.468s | Percentage 0.00%
2025-03-14 19:13:45.656 [job-0] INFO  StandAloneJobContainerCommunicator - Total 133632 records, 8952834 bytes | Speed 80.18KB/s, 1228 records/s | Error 0 records, 0 bytes |  Al309s |  All Task WaitReaderTime 0.492s | Percentage 0.00%
2025-03-14 19:13:55.657 [job-0] INFO  StandAloneJobContainerCom

 

相关文章:

mysql 到 doris 挪移数据

工具datax..... 下载地址:http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz 下载以后解压:tar -xvzf datax.tar.gz 然后,理论上就可以直接使用了。但是,datax本身是python2写的,如果需要python3…...

Springboot中的@ConditionalOnBean注解:使用指南与最佳实践

在使用Spring Boot进行开发时,大家应该都听说过条件注解(Conditional Annotations)。其中的ConditionalOnBean注解就很有趣,它帮助开发者在特定条件下创建和注入Bean,让你的应用更加灵活。今天就来聊聊这个注解的使用场…...

ubuntu系统下添加pycharm到快捷启动栏方法

一、背景 之前在ubuntu系统下使用pycharm时,总是要进入/home/dlut/pycharm-community-2022.1/bin文件夹下,然后终端执行命令下面的命令才可修改代码: ./pycharm.sh为了以后方便,这里给出添加pycharm到快捷启动栏的方法 二、添加…...

开源:LMDB 操作工具:lmcmd

目录 什么是 LMDB为什么编写 lmcmd安装方法如何使用 连接数据库命令列表 小结 1. 什么是 LMDB LMDB(Lightning Memory-Mapped Database)是一种高效的键值存储数据库,基于内存映射(memory-mapping)技术,提供…...

阿里云底层使用的虚拟化技术

‌阿里云底层使用的虚拟化技术主要是KVM([Kernel-based Virtual Machine)‌。KVM是一种基于内核的虚拟机技术,它允许Linux内核直接管理虚拟机的创建和运行,提供高效的虚拟化解决方案‌12。 KVM技术的特点和应用场景 KVM具有以下…...

angular中的路由传参

目录 一、矩阵参数 一、矩阵参数 在angular中传参时可以使用矩阵参数,即直接通过变量值的形式在地址中体现,但需要注意参数的使用范围为当前路径段,而不是全局的查询参数。 const params {name: lhhh,age: 18,list: [{ name: htt }],}; //先…...

AI时代下的心理咨询师新利器:心理咨询小程序

在AI技术日新月异的今天,心理咨询师们也需要与时俱进,借助新型工具来提升咨询效率和服务质量。正如一位优秀的厨师离不开一把锋利的菜刀,心理咨询师同样需要一款得力助手来辅助其工作。而心理咨询小程序,正是这样一款应运而生的工…...

垃圾分类--环境配置

写在前面: 如果你们打这届比赛时,还有我们所保留的内存卡,那么插上即可运行(因为内存卡里我们已经配置好所有的环境) 本文提供两种环境的配置 一种是基于yolov8:YOLOv8 - Ultralytics YOLO Docshttps://d…...

每日一题--计算机网络

一、基础概念类问题 1. TCP 和 UDP 的区别是什么? 回答示例: TCP:面向连接、可靠传输(通过三次握手建立连接,丢包重传)、保证数据顺序(如文件传输、网页访问)。 UDP:无…...

json字符串转对象,对象转JSON

背景: JSON字符串与对象之间的转换。在对接接口的数据的时候,因为是实时数据转发过来的。发现后端发过的数据是字符串【JSON字符串】但是我们前端需要的是一个对象。 核心代码: JSON.parse(JSON字符串) 效果展示: 接口JSON字符串转…...

c++ 基础题目lambda

1. auto lambda = [](double x) { return static_cast<int>(x); }; 是 匿名函数对象 ,不可直接声明 a.可以赋值给一个与其类型兼容的 std::function 类型的对象 std::function<int(int, int)> lambda = [](int x, int y) { return x + y; }; b.使用具体的 lambda …...

pandas中excel自定义单元格颜色

writerpd.ExcelWriter(filepathf05教师固定学生占比1月{today}.xlsx,engineopenpyxl) df.to_excel(writer,sheet_name明细) piv1.to_excel(writer,sheet_name1月分布) wswriter.book.create_sheet(口径) ws.cell(1,1).value综合占比&#xff1a; ws.cell(1,2).value固定学生占比…...

3D标定中的平面约束-平面方程的几何意义

平面方程的一般形式为 AxByCzD0&#xff0c;其中系数 A、B、C、D共同决定了平面的几何特性。 系数对平面姿态的影响 1. 法向量方向2. 平面位置3. 比例关系4. 姿态变换5.平面空间变换 1. 法向量方向 法向量方向由 A、B、C 决定 核心作用&#xff1a;系数 A、B、C 构成的向量 (…...

蓝桥杯第13届真题2

由硬件框图可以知道我们要配置LED 和按键 一.LED 先配置LED的八个引脚为GPIO_OutPut&#xff0c;锁存器PD2也是&#xff0c;然后都设置为起始高电平&#xff0c;生成代码时还要去解决引脚冲突问题 二.按键 按键配置&#xff0c;由原理图按键所对引脚要GPIO_Input 生成代码&a…...

Linux-03 删除ubuntu系统文件夹Videos和Templates后,如何恢复

文章目录 问题解决方法1. 重新创建 Videos 和 Templates 文件夹2. 配置 user-dirs.dirs 文件3. 更新用户目录配置xdg-user-dirs-update4. 重启系统&#xff1a;sudo reboot 问题 手欠的嫌弃Videos和Templates文件夹是空的&#xff0c;也不会用&#xff0c;就删除了&#xff0c…...

springboot多种生产打包方式教程

在 Spring Boot 项目中&#xff0c;打包是一个非常重要的环节&#xff0c;因为它决定了应用程序如何部署到生产环境中。Spring Boot 提供了多种打包方式&#xff0c;以满足不同的需求和环境。以下是详细的教程&#xff0c;介绍 Spring Boot 的多种生产打包方式以及它们的适用场…...

Linux系统移植篇(十)根文件系统构建 V3 - Yocto

可以简单的将 Ubuntu 理解为一个根文件系统&#xff0c;和我们用 busybox、buildroot 制作的根文件系统一样。因此移植Ubuntu也就是将Ubuntu根文件系统移植到我们的开发板上&#xff0c;但是因为 I.MX6ULL 孱弱的性能&#xff0c;本章我们就只移植 Ubuntu 的最小根文件系统&…...

pnpm创建vite

pnpm创建vite 在创建一个使用 Vite 的项目时&#xff0c;你可以通过 PNPM&#xff08;一个快速、节省磁盘空间的包管理器&#xff09;来简化依赖管理。以下是如何使用 PNPM 创建一个 Vite 项目的步骤&#xff1a; 安装 PNPM 如果你还没有安装 PNPM&#xff0c;可以通过 npm&…...

NAT技术-初级总结

NAT–网络地址转换 NAT基本逻辑是实现公网IP地址和私网IP地址的转换 华为设备所有NAT相关的配置都是在边界路由器的出接口上配置 1.静态NAT–一对一 就是在我们私网边界路由器上建立维护一张静态地址映射表,这张表 反映的是公网IP地址和私网IP地址之间一一对应的关系 只能一个…...

E902基于bash与VCS的仿真环境建立

网上看见很多E902仿真的文章&#xff0c;但用到的编译器是类似于这种Xuantie-900-gcc-elf-newlib-x86_64-V3.0.1-20241120&#xff0c;而我按照相应的步骤与对应的编译器&#xff0c;仿真总会报错。后面将编译器换成riscv64-elf-x86_64-20210512&#xff0c;反而成功了。现在开…...

LuaJIT 学习(4)—— FFI 语义

文章目录 C Language SupportC Type Conversion RulesConversions from C types to Lua objects例子&#xff1a;访问结构体成员 Conversions from Lua objects to C typesConversions between C types例子&#xff1a;修改结构体成员 Conversions for vararg C function argum…...

Pycharm接入DeepSeek,提升自动化脚本的写作效率

一.效果展示&#xff1a; 二.实施步骤&#xff1a; 1.DeepSeek官网创建API key&#xff1a; 创建成功后&#xff0c;会生成一个API key&#xff1a; 2. PyCharm工具&#xff0c;打开文件->设置->插件&#xff0c;搜索“Continue”&#xff0c;点击安装 3.安装完成后&…...

Windows安装Apache Maven 3.9.9

第一步下载资源 官网&#xff1a;下载 Apache Maven – Maven 环境变量配置 M2_HOME 指向bin目录 MAVEN_HOME 指向根目录 M2_HOME 不确定是否必须要 Path配置 &#xff0c;需要注意MAVEN顺序应当在java之前 验证是否安装成功&#xff0c;在cmd中以管理员方式打开&#xff0c…...

jmeter将返回的数据写入csv文件

举例说明&#xff0c;我需要接口返回体中的exampleid与todoid的数据信息&#xff08;使用边界提取器先将其提取&#xff09;&#xff0c;并将其写入csv文件进行保存 使用后置处理器BeanShell 脚本实例如下 import java.io.*;// 设置要写入的文件路径 String filePath "…...

设计一个高性能的分布式限流系统

设计一个高性能的分布式限流系统 在现代分布式系统中&#xff0c;流量控制是保障系统稳定性和高可用性的关键技术之一。随着用户规模的增长和业务需求的复杂化&#xff0c;系统往往需要面对突发流量或恶意攻击等场景&#xff0c;这就对限流机制提出了更高的要求。一套高性能的…...

[项目]基于FreeRTOS的STM32四轴飞行器: 六.2.4g通信

基于FreeRTOS的STM32四轴飞行器: 六.2.4g通信 一.Si24Ri原理图二.Si24R1芯片手册解读三.驱动函数讲解五.移植2.4g通讯&#xff08;飞控部分&#xff09;六.移植2.4g通讯&#xff08;遥控部分&#xff09;七.通讯模块的完成&#xff08;遥控部分&#xff09; 一.Si24Ri原理图 S…...

【Android】RuntimeShader 应用

1 简介 RuntimeShader 是 Android 13&#xff08;T&#xff09;中新增的特性&#xff0c;用于逐像素渲染界面&#xff0c;它使用 AGSL&#xff08;Android Graphics Shading Language&#xff09;编写着色器代码&#xff0c;底层基于 Skia 图形渲染引擎。官方介绍详见 → Runti…...

Skia 图形引擎介绍

文章目录 一、Skia 的基本概念1. 定位与作用2. 历史背景 二、Skia 的核心架构1. 模块化设计2. 渲染流程3. 跨平台适配 三、Skia 在 Flutter 中的角色1. 自绘 UI 的核心依赖2. 跨平台一致性3. 性能优化 四、Skia 的性能优势1. 高效的图形处理2. 与原生渲染的对比3. 性能瓶颈 五、…...

jQuery从入门到应用:选择器、DOM与Ajax综合指南

文章目录 前言jQuery对象1、jQuery的使用在需要使用jQuery的页面引入Js文件使用jQuery选择页面元素并获取其文本内容 2、jQuery包装集与Dom对象DOM对象和jQuery对象的选择及互相转换 jQuery对象关键点说明&#xff1a; jQuery选择器1、基础选择器关键点说明 2、层次选择器关键点…...

10、基于osg引擎生成热力图高度图实现3D热力图可视化、3D热力图实时更新(带过渡效果)

1、结果 2、完整C代码 #include <sstream> #include <iomanip> #include <iostream> #include <vector> #include <random> #include <cmath> #include <functional> #include <osgViewer/viewer> #include <osgDB/Read…...