首页 > 其他分享 >DataX入门教学

DataX入门教学

时间:2023-06-25 10:11:25浏览次数:43  
标签:入门 python 数据库 教学 datax table your DataX

B站学习网址:

https://www.bilibili.com/video/BV1H44y1x76X/?p=5&spm_id_from=pageDriver&vd_source=5fcc0d714ffdcc521fdaa5ef49391aef

Windows 下安装DataX以及Data-Web

1、环境

1.1:本地安装好 jdk 、 maven 、 python 的基础环境

	java版本:java 20.0.1 2023-04-18
	maven:Apache Maven 3.9.2
	python:Python 3.11.4
	dataX:DataX-datax_v202303.zip
	dataX-Web:2.1.2 
	下载地址:
			DataX:				https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202303/datax.tar.gz
			DataX-Web:			https://codeload.github.com/WeiYe-Jing/datax-web/zip/refs/tags/v-2.1.2  			
			DatatX_python3:		https://codeload.github.com/HxYyWw/DatatX_python3/zip/refs/heads/master
			python:				https://www.python.org/ftp/python/3.11.4/python-3.11.4-embed-amd64.zip
			Java:				https://download.oracle.com/java/20/latest/jdk-20_windows-x64_bin.msi
			maven:				https://dlcdn.apache.org/maven/maven-3/3.9.2/binaries/apache-maven-3.9.2-bin.zip
	
	
	安装参考文档:https://blog.csdn.net/m0_46517444/article/details/118723643

1.2:在DataX的官网上下载压缩包,然后解压到自定义的文件夹里面

	官网地址:https://github.com/alibaba/DataX

1.3:win +R 输入cmd命令。进入命令行模式[使用管理员模式]

	本地安装路径:D:\Work\DataX\datax
	防止乱码执行命令: CHCP 65001
	使用命令进入bin目录:cd D:\Work\DataX\datax\bin
	执行脚本:python datax.py …/job/json/job.json   也可以
	执行脚本:python datax.py D:\Work\DataX\datax\job\job.json

1.4:查看模板

    命令行:python datax.py -r streamreader -w streamwriter

1.5:编写脚本,

	将脚本存放到datax\datax\job目录底下,
	然后执行后python datax.py datax\job\你的脚本.json运行
	脚本格式信息可以去 https://github.com/alibaba/DataX/ 查看

备注:

   本地使用的python环境是python3.11.4,
请到 https://github.com/HxYyWw/DatatX_python3/tree/master
下载对应的三个.py文件代替datax文件夹中bin目录下的三个.py文件即可。

2、入门使用DataX

2.1 查看模板命令

	python datax.py -r mysqlreader -w mysqlwriter

2.2 使用案例


 {
 "job": {
     "setting": {
 		"speed": {
             "channel": 并发数
             }
         },
         "content": [
             {
             "reader": {
               "name": "固定的名字",
                     "parameter": {
                         "username": "账号",
                         "password": "密码",
                         "column": [
                             "字段1",
                             "字段2",
                             "字段3"
                             ps:[*]表示所有列,但是不建议使用
                         ],
                         "splitPk": "分片字段,丢给task,所以必须是整形。一般用主键即可(非必须)",
                         "connection": [
                             {
                                 "table": [ "表"],
                                 "jdbcUrl": [  "数据库连接地址"],
                                 "querySql":["这里可以写查询数据的sql语句,但是如果这里写了,则不允许再配置table,否则会报错(非必须,table和querySql只能存在一个)"]
                             }
                         ],
                         "where":"过滤条件"
                     }
                 },
                 "writer": {
                     "name": "固定的名字",
                     "parameter": {
                         "writeMode": "写入策略",
                         "username": "账户",
                         "password": "密码",
                         "column": [
                             "字段1",
                             "字段2",
                             "字段3"
                         ],
                         "session": [
                             "DataX在获取Mysql连接时,执行session指定的SQL语句,修改当前connection session属性(非必须)"
                         ],
                         "preSql": [
                             "写入数据到目的表前,会先执行这里的标准语句(非必须)"
 						],
                         "connection": [
                             {
                                 "jdbcUrl": "数据库连接地址",
                                 "table": [
                                     "表"
                                 ]
                             }
                         ]
                     }
                 }
             }
         ]
     }
 }

2.3 其他配置连接

2.3.1:MySQL 数据库连接配置信息示例

"connection": [
		{
			"jdbcUrl": [ // 数据库连接字符串
				"jdbc:mysql://localhost:3306/your_mysql_database"
			],
			"table": [ // 需要读取或写入的数据表名称
				"your_mysql_table"
			],
			"username": "your_mysql_username", // 数据库用户名
			"password": "your_mysql_password", // 数据库密码
			"driverClassName": "com.mysql.jdbc.Driver", // 数据库驱动类名
			"fetchSize": 1024 // 数据抓取的数量
		}
	]

2.3.2:Oracle 数据库连接配置信息示例:

"connection": [
			{
				"jdbcUrl": [ // 数据库连接字符串
					"jdbc:oracle:thin:@your_oracle_host:port:your_oracle_sid"
				],
				"table": [ // 需要读取或写入的数据表名称
					"your_oracle_table"
				],
				"username": "your_oracle_username", // 数据库用户名
				"password": "your_oracle_password", // 数据库密码
				"driverClassName": "oracle.jdbc.driver.OracleDriver", // 数据库驱动类名
				"fetchSize": 1024 // 数据抓取的数量
			}
		]

2.3.3:SQL Server 数据库连接配置信息示例

		"connection": [
			{
				"jdbcUrl": "jdbc:sqlserver://your_sqlserver_host:port;database=your_sqlserver_database", // 数据库连接字符串
				"table": "your_sqlserver_table", // 需要读取或写入的数据表名称
				"username": "your_sqlserver_username", // 数据库用户名
				"password": "your_sqlserver_password", // 数据库密码
				"driverClassName": "com.microsoft.sqlserver.jdbc.SQLServerDriver", // 数据库驱动类名
				"fetchSize": 1024 // 数据抓取的数量
			}
		]

2.3.4:PostgreSQL 数据库连接配置信息示例:

	"connection": [
			{
				"jdbcUrl": [ // 数据库连接字符串
					"jdbc:postgresql://your_postgresql_host:port/your_postgresql_database"
				],
				"table": [ // 需要读取或写入的数据表名称
					"your_postgresql_table"
				],
				"username": "your_postgresql_username", // 数据库用户名
				"password": "your_postgresql_password", // 数据库密码
				"driverClassName": "org.postgresql.Driver", // 数据库驱动类名
				"fetchSize": 1024 // 数据抓取的数量
			}
		]

3、DataX Web 安装[未安装,需要linux系统,或者window idea]

3.1:安装
	下载地址:https://github.com/WeiYe-Jing/datax-web
	本地安装路径:D:\Work\DataX\datax-web
	首先运行需要一个本地的MySQL数据库
	解压执行数据库脚本:D:\Work\DataX\datax-web\bin\db
	解压后的目录里bin目录的db目录下有个datax_web.sql
	打开之后可以看到,它只有建表语句,没有建库语句,而数据库名是datax_web

3.2:修改application.yml
	文件路径:D:\Work\DataX\datax-web\datax-admin\src\main\resources\application.yml

标签:入门,python,数据库,教学,datax,table,your,DataX
From: https://www.cnblogs.com/bannian/p/17502185.html

相关文章

  • golang入门,基础语法demo(1)
    packagemainimport"fmt"funcmain(){//声明变量varaint//使用var关键字声明变量a,类型为inta=1//赋值fmt.Println(a)//类型推导//使用:=自动推导类型并声明变量b,其类型为stringb:="helloworld"fmt.Pr......
  • Hibernate入门
    Hibernate加入maven依赖<!--hibernate--><dependency><groupId>javassist</groupId><artifactId>javassist</artifactId><version>3.12.0.GA</version>&l......
  • python入门(二):python安装和pycharm安装
    Python的安装原文|大纲|首页Python是一种高级、通用、解释型的编程语言。它具有简洁明了的语法和强大的功能,因此成为了许多人学习编程的首选语言。1.下载Python首先,你需要从Python官方网站(https://www.python.org)下载最新版本的Python。在网站的首页上,你可以找到一个......
  • python入门(四):运算符和表达式
    Python运算符和表达式指南原文|大纲|首页在Python中,运算符用于执行各种操作,如算术运算、比较运算、逻辑运算等。表达式是由变量、常量和运算符组成的代码片段。了解Python的运算符和表达式对于编写有效的代码至关重要。算术运算符算术运算符用于执行基本的算术操作,如加......
  • python入门(三):变量和数据类型
    变量和数据类型指南原文|大纲|首页在Python中,变量用于存储数据,并且每个变量都有一个特定的数据类型。了解变量和数据类型是学习Python编程的基础。变量变量是用来存储数据的容器。在Python中,你可以通过给变量赋值来创建一个变量。变量的命名规则如下:变量名只能包含字......
  • python入门(七):函数和模块
    Python函数和模块指南原文|大纲|首页在Python中,函数和模块用于组织和重用代码。函数允许将一段代码封装为可执行的块,并在需要时调用,而模块则允许将相关的函数和变量组织在一起。了解Python的函数和模块对于编写可维护和可扩展的代码至关重要。函数(Function)函数是一个带......
  • python入门(六):数据结构和容器
    Python数据结构和容器指南原文|大纲|首页在Python中,数据结构和容器用于存储和组织数据。它们提供了不同的方式来操作和访问数据,以满足不同的需求。了解Python的数据结构和容器对于编写高效和灵活的代码至关重要。列表(List)列表是Python中最常用的数据结构之一。它是一个......
  • python入门(五):流程控制语句
    Python控制流语句指南原文|大纲|首页在Python中,控制流语句用于控制程序的执行流程。它们允许根据条件执行不同的代码块,重复执行代码块,或者跳过特定的代码块。了解Python的控制流语句对于编写灵活和高效的代码至关重要。条件语句(if语句)条件语句用于根据条件选择性地执行......
  • python入门(十):面向对象编程
    Python面向对象编程指南原文|大纲|首页在Python中,面向对象编程(Object-OrientedProgramming,简称OOP)是一种重要的编程范式。它允许我们通过创建对象、定义类和实现继承等概念来组织和管理代码。了解Python的面向对象编程对于编写可维护、可扩展和可重用的代码至关重要。......
  • python入门(九):异常处理
    Python异常处理指南原文|大纲|首页在Python中,异常处理是一种重要的技术,用于捕获和处理程序运行时可能出现的错误。通过合理地处理异常,我们可以增加代码的健壮性和可靠性。了解Python的异常处理对于编写高质量的代码非常重要。异常基础异常是在程序运行过程中发生的错误......