datax入门(datax的安装与简单使用)——01

news2024/12/23 23:02:54

datax入门(datax的安装与简单使用)——01

  • 1. 官网
  • 2. 工具部署(通过下载DataX工具包)
    • 2.1 下载、解压
    • 2.2 配置
      • 2.2.1 查看配置模版
      • 2.2.2 根据模版配置json
      • 2.2.3 启动DataX
  • 3. datax的简单使用
    • 3.1 mysql2stream
    • 3.2 mysql2mysql
      • 3.2.1 拼接where的
      • 3.2.2 直接写查询的sql语句的
  • 4. 解释
    • 4.1 json中seeting说明
    • 4.2 参数说明(以mysql为例)

1. 官网

  • 地址如下:
    https://github.com/alibaba/DataX/blob/master/userGuid.md.
  • 简介
    在这里插入图片描述
    在这里插入图片描述

2. 工具部署(通过下载DataX工具包)

2.1 下载、解压

  • 因为官网很详细,这里就简单记录一下:
    下载 datax.tar.gz ,然后解压,命令如下:
    tar -zxvf datax.tar.gz
    
    在这里插入图片描述
  • 查看解压后的目录
    在这里插入图片描述

2.2 配置

2.2.1 查看配置模版

  • 命令如下:
    python datax.py -r streamreader -w streamwriter
    
    在这里插入图片描述

2.2.2 根据模版配置json

  • 创建stream2stream.json文件,如下:
    cd /Users/susu/study_down/about_datax/datax/job
    
    vim stream2stream.json
    
  • stream2stream.json 内容如下:
    #stream2stream.json
    {
      "job": {
        "content": [
          {
            "reader": {
              "name": "streamreader",
              "parameter": {
                "sliceRecordCount": 10,
                "column": [
                  {
                    "type": "long",
                    "value": "10"
                  },
                  {
                    "type": "string",
                    "value": "hello,你好,世界-DataX"
                  }
                ]
              }
            },
            "writer": {
              "name": "streamwriter",
              "parameter": {
                "encoding": "UTF-8",
                "print": true
              }
            }
          }
        ],
        "setting": {
          "speed": {
            "channel": 5
           }
        }
      }
    }
    

2.2.3 启动DataX

  • 启动命令,开始同步,如下:
    python ../bin/datax.py stream2stream.json
    
    在这里插入图片描述
    在这里插入图片描述
  • 同步结束,查看日志如下:
    在这里插入图片描述

3. datax的简单使用

  • 环境有限,下面就以mysql为主了,mysql_to_别的数据库,后续有机会再做介绍

3.1 mysql2stream

  • 使用命令先查看模版:

    python datax.py -r mysqlreader -w streamwriter
    
  • mysql2stream.json 如下:

    {
    	"job": {
    		"setting": {
    			"speed": {
    				"channel": 3
    			},
    			"errorLimit": {
    				"record": 0,
    				"percentage": 0.02
    			}
    		},
    		"content": [{
    			"reader": {
    				"name": "mysqlreader",
    				"parameter": {
    					"username": "root",
    					"password": "susu@123",
    					"column": [
    						"dog_num",
    						"dog_name"
    					],
    					"splitPk": "dog_num",
    					"connection": [{
    						"table": [
    							"dog"
    						],
    						"jdbcUrl": [
    							"jdbc:mysql://127.0.0.1:3306/datax_1"
    						]
    					}]
    				}
    			},
    			"writer": {
    				"name": "streamwriter",
    				"parameter": {
    					"print": true
    				}
    			}
    		}]
    	}
    }
    
    
  • 效果如下:

    python ../bin/datax.py mysql2stream.json
    

    在这里插入图片描述

3.2 mysql2mysql

  • 使用命令先查看模版:
    python datax.py -r mysqlreader -w mysqlwriter
    

3.2.1 拼接where的

  • mysql2mysql_where.json文件如下:
    {
    	"job": {
    		"content": [{
    			"reader": {
    				"name": "mysqlreader",
    				"parameter": {
    					"column": ["*"],
    					"connection": [{
    						"jdbcUrl": ["jdbc:mysql://127.0.0.1:3306/datax_1"],
    						"table": ["dog"]
    					}],
    					"username": "root",
    					"password": "susu@123",
    					"where": "dog_num=1000003"
    				}
    			},
    			"writer": {
    				"name": "mysqlwriter",
    				"parameter": {
    					"column": ["*"],
    					"connection": [{
    						"jdbcUrl": "jdbc:mysql://127.0.0.1:3306/datax_2",
    						"table": ["dog"]
    					}],
    					"username": "root",
    					"password": "susu@123",
    					"writeMode": "insert"
    				}
    			}
    		}],
    		"setting": {
    			"speed": {
    				"channel": "1"
    			}
    		}
    	}
    }
    
    
  • 效果如下:
    python ../bin/datax.py mysql2mysql_where.json
    
    在这里插入图片描述
    在这里插入图片描述

3.2.2 直接写查询的sql语句的

  • 使用querySql参数(注意querySql 和 SQL 只能保留一个),如下:
    在这里插入图片描述
    在这里插入图片描述
  • mysql2mysql_query.json 文件代码如下:
    {
    	"job": {
    		"content": [{
    			"reader": {
    				"name": "mysqlreader",
    				"parameter": {
    					"connection": [{
    						"jdbcUrl": ["jdbc:mysql://127.0.0.1:3306/datax_1"],
    						"querySql": [
    							"select t.dog_num,t.dog_name,t.db_source from dog t where dog_num=1000004"
    						]
    					}],
    					"username": "root",
    					"password": "susu@123"
    				}
    			},
    			"writer": {
    				"name": "mysqlwriter",
    				"parameter": {
    					"column": ["*"],
    					"connection": [{
    						"jdbcUrl": "jdbc:mysql://127.0.0.1:3306/datax_2",
    						"table": ["dog"]
    					}],
    					"username": "root",
    					"password": "susu@123",
    					"writeMode": "insert"
    				}
    			}
    		}],
    		"setting": {
    			"speed": {
    				"channel": "1"
    			}
    		}
    	}
    }
    
    
  • 效果如下:
    python ../bin/datax.py mysql2mysql_query.json
    
    在这里插入图片描述
    在这里插入图片描述

4. 解释

4.1 json中seeting说明

  • 关于seeting
    setting
    	speed表示控制并发数
    		channel设置并发的数量
    		如果设置的print为true,则会打印slicRecordCount*channel次
    		如果是从mysql导入hdfs等其他操作,则会是真正代表并发数,而不是打印多少次
    

4.2 参数说明(以mysql为例)

  • 其他的,从官网截图来看吧:
    https://github.com/alibaba/DataX/blob/master/mysqlreader/doc/mysqlreader.md.
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1869992.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTML【重点标签】

一、列表标签 1.无序列表 父级别: 无序列表的标题 ----表示无序列表的整体,用于包裹li标签 子级别: 无序列表一行的内容 ----表示无序列表的每一项,用于包含一行的内容 语义:构建没有顺序的列表 特点:列…

php聚合快递寄快递小程序

一、引言:告别传统寄件,拥抱便捷新选择 在数字化时代,我们越来越追求便捷和高效。传统的寄件方式已经无法满足现代人快速、便捷的需求。因此,一款聚合快递优惠寄件小程序应运而生,它集合了多家快递公司,为…

Linux高级编程——进程

1.进程的含义? 进程是一个程序执行的过程,会去分配内存资源,cpu的调度 PID, 进程标识符 当前工作路径 chdir umask 0002 进程打开的文件列表 文件IO中有提到 (类似于标准输入 标准输出的编号,系统给0,1&#xf…

台灯的功能作用有哪些?分享好用的护眼灯!看完就知道台灯怎么选

在当今时代,学生们长时间地沉浸于平板、手机、电脑等电子设备中,这些设备的屏幕往往伴随着频闪和蓝光辐射,这无疑对视力健康构成了潜在威胁。家长们日益关注孩子的护眼养眼问题,因为视力疲劳和眼部疾病不仅会降低个体的生活质量&a…

Hyperf 在 NginxProxyManager 如何配置 websocket?

新建代理 填写域名等服务信息&#xff0c;选择支持WebSockets。 创建 SSL 编写nginx配置 location /message.io{proxy_pass http://<你的ip>:<对应端口号>;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "Upg…

VMware虚拟机三种网络模式设置 - Host-Only(仅主机模式)

一、前言 在之前的《Bridged&#xff08;桥接模式&#xff09;》、《NAT&#xff08;网络地址转换模式&#xff09;》中&#xff0c;我详细介绍了虚拟机网络模式设置中的桥接模式与网络地址转换模式。今天详细讲解一下Host-Only&#xff08;仅主机模式&#xff09;。 在VMware虚…

vue + Lodop 制作可视化设计页面 实现打印设计功能(二)

历史&#xff1a; vue2 Lodop 制作可视化设计页面 实现打印设计功能&#xff08;一&#xff09; 前言&#xff1a; 之前本来打算用直接拿之前做的vue2版本改改就发的&#xff0c;但考虑到现在主流都是vue3了&#xff0c;所以从这篇文章开始使用vue3来写&#xff0c;以及最后…

4年突破20亿,今麦郎如何持续策划凉白开极致产品力?

范总在方便面市场拥有30年的丰富经验&#xff0c;并曾创造过奇迹。1994年&#xff0c;他从冰糖生意进入方便面行业&#xff0c;创立今麦郎的前身华龙集团。当时&#xff0c;方便面市场已经进入红海阶段&#xff0c;市场上有上千家企业&#xff0c;康师傅和统一占据了80%的市场份…

Apple Intelligence,我们能得到什么?(上)

苹果公司WWDC 2024发布会&#xff0c;苹果AI成为最吸睛的焦点。不过&#xff0c;苹果的AI不是大家口中的AI&#xff0c;而是苹果独有的概念&#xff1a;Apple Intelligence&#xff0c;苹果智能。 所谓Apple Intelligence&#xff0c;被定义为iPhone、iPad和Mac的个人智能系统…

Arduino - 继电器

Arduino - 继电器 In a previous tutorial, we have learned how to turn on/off an LED. In this tutorial, we are going to learn how to turn on/off some kind of devices that use the high voltage power supply(such as a light bulb, fan, electromagnetic lock, lin…

Linux高并发服务器开发(五)终端和守护进程

文章目录 1 概念2 会话基本概念和API3 守护进程&#xff08;重点&#xff09;守护进程模型 4 获取当前系统时间 1 概念 终端 进程的集合叫进程组 也称为作业 是执行程序的过程 2 会话基本概念和API 进程组的集合 3 守护进程&#xff08;重点&#xff09; 独立于控制…

Linux内核中网络数据的流量控制(TC: Traffic control 和 QDISC)

(个人能力有限&#xff0c;本文如有错误之处&#xff0c;欢迎交流指正) 1 简介 在进行网络数据 接收 和 发送 过程中&#xff0c;网卡设备到L3(网络层) 中间会经历流量控制(Traffic control)。 《BPF之巅.洞悉Linux系统和应⽤性能》P413 qdisc这个可选层可以⽤来管理⽹络包的…

机器学习-数据预处理-聚类-回归-分类-单车数据集

机器学习-数据预处理-聚类-回归-分类-单车数据集 前言一、数据预处理1. 导入数据集2. 数据预处理3. 处理缺失值4. 生成特征用于后续进一步的分析 二、数据分布可视化1. 骑行时长分布2. 起始站和终点站分布可视化3. 高峰期与非高峰期骑行频次分布 三、聚类分析1. K-means聚类 四…

PostgreSQL 连接器:在 SeaTunnel 中的应用与优势

在现代企业中&#xff0c;数据已经成为核心资产&#xff0c;基于开源数据集成平台SeaTunnel&#xff0c;工程师如何高效地连接和管理这些数据源&#xff0c;直接关系到企业的竞争力和运营效率。 本文将给大家介绍如何通过 JDBC PostgreSQL 数据源连接器&#xff0c;在 SeaTunne…

240627_图像24位深度(RGB图)转为8位深度(单通道图)

240627_图像24位深度&#xff08;RGB图&#xff09;转为8位深度&#xff08;单通道图&#xff09; 在使用网络上下载下来的一部分图像分割数据集时&#xff0c;有些标签图你看着是一个黑白图&#xff0c;但是他还是有可能是一张RGB三通道图&#xff0c;具体怎么区分呢。右击图…

ARM芯片架构(RTOS)

前言&#xff1a;笔记韦东山老师的rtos教程&#xff0c;连接放在最后 #ARM介绍 arm芯片属于精简指令集risc&#xff0c;所用的指令比较简单&#xff0c;ARM架构是一种精简指令集&#xff08;RISC&#xff09;架构&#xff0c;广泛应用于移动设备、嵌入式系统、物联网等领域。AR…

英国国王座驾车标的逆向工程

多功能设计和制造解决方案为独特的挑战提供了引人注目的优势。Impossible Creations是一家来自英国的定制扫描、设计和建模公司&#xff0c;专门帮助客户完成无限制得创作任务。在他们最近接到的一个项目中&#xff0c;为了修复象征英国国王座驾的大英帝国吉祥物&#xff0c;Im…

【博士每天一篇文献-综述】Biological underpinnings for lifelong learning machines

阅读时间&#xff1a;2023-12-17 1 介绍 年份&#xff1a;2015 作者&#xff1a;Dhireesha Kudithipudi&#xff0c;Mario Aguilar-Simon&#xff0c;其中通讯作者Josh Bongard教授也是另一篇论文的通讯作者《Neural modularity helps organisms evolve to learn new skills …

widows下 vscode 的 terminal / powershell,ctrl+v失灵,输出^v

问题 原因 最近装了PSReadLine Import-Module PSReadLineSet-PSReadLineOption -PredictionSource History Set-PSReadLineOption -PredictionViewStyle InlineView Set-PSReadLineOption -EditMode Emacsvscode不兼容 解决方法 注释掉最后面的 Import-Module PSReadLineS…

Linux通过expect实现免交互

免交互 Here Document 用于将多行字符串直接传递给命令的方式&#xff0c;不需要人为交互命令界面&#xff0c;实现免交互 当使用Here Document操作文件时&#xff0c;需要借助一个文件结束符 EOF&#xff1a;文件结束符 示例 在脚本文件中写入以下内容 <<&#x…