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

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.
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

评估大型语言模型生成文章的能力

1. AI解读 1.1. 总体概要 本文探讨了大型语言模型(LLMs)如GPT-4在生成特定领域(如计算机科学中的自然语言处理NLP)教育调查文章方面的能力和局限性。研究发现,尽管GPT-4能够根据特定指导生成高质量的调查文章&#x…

使用jupyter打开本地ipynb文件的方法

常用方法: 先启动jupyter,然后在打开的页面点击upload,选择想要打开的文件上传然后打开,但是这样其实是先复制了一份到jupyter中,然后打开运行。而我不想复制。 方法二 先打开项目文件所在文件夹,文件夹…

背靠广汽、小马智行,如祺出行打得过滴滴和百度吗?

©自象限原创 作者丨艾AA 编辑丨薛黎 北京时间6月14日凌晨,在特斯拉股东大会上,马斯克阐述了对Robotaxi(自动驾驶出租车)商业模式的构想——特斯拉不仅会运营自己的无人驾驶出租车车队,还可以让特斯拉车主们的爱…

Flutter学习目录

学习Dart语言 官网:https://dart.cn/ 快速入门:Dart 语言开发文档(dart.cn/guides) 学习Flutter Flutter生命周期 点击跳转Flutter更换主题 点击跳转StatelessWidget和StatefulWidget的区别 点击跳转学习Flutter中新的Navigato…

一文入门CMake

我们前几篇文章已经入门了gcc和Makefile,现在可以来玩玩CMake了。 CMake和Makefile是差不多的,基本上是可以相互替换使用的。CMAke可以生成Makefile,所以本质上我们还是用的Makefile,只不过用了CMake就不用再写Makefile了&#x…

Spring底层原理之bean的加载方式四 @import 注解

bean的加载方式四 import 第四种bean的导入方式 是import导入的方式 在配置类上面加上注解就行 package com.bigdata1421.config;import com.bigdata1421.bean.Dog; import org.springframework.context.annotation.Import;Import(Dog.class) public class SpringConfig4 {…

Linux高级编程——进程

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

点云处理实战 点云平面拟合

目录 一、什么是平拟合 二、拟合步骤 三、数学原理 1、平面拟合 2、PCA过程 四、代码 一、什么是平拟合 平面拟合是指在三维空间中找到一个平面,使其尽可能接近给定的点云。最小二乘法是一种常用的拟合方法,通过最小化误差平方和来找到最优的拟合平面。 二、拟合步骤…

1.1章节print输出函数语法八种 使用和示例

1.打印变量和字符串 2-4.三种使用字符串格式化 5.输出ASCLL码的值和中文字符 6.打印到文件或其他对象(而不是控制台) 7.自定义分隔符、和换行符和结束符 8.连接符加号连接字符串 在Python中,print() 函数用于在控制台上输出信息。这是一个非常…

设置日历程序

目录 一 设计原型 二 后台源码 一 设计原型 二 后台源码 namespace 设置日历 {public partial class Form1 : Form{public Form1(){InitializeComponent();}private void dateTimePicker1_ValueChanged(object sender, EventArgs e){richTextBox1.Text dateTimePicker1.T…

React@16.x(42)路由v5.x(7)常见应用场景(4)- 路由切换动画

目录 1,实现路由切换基础样式 2,使用 CSSTransition 添加动画1,自定义动画组件 *TransitionRoute.jsx*2,*App.jsx*3,样式改动 3,注意点 通过一个例子来说明如何实现。 1,实现路由切换 基础样式…

prompt:我是晚餐盲盒,只要你问出“今晚吃什么”我就将为你生成美妙的食物推荐。

使用方法:在ChatGP粘贴下面提示词模型,点击输出。然后再问“晚餐有什么好吃的?”,AI输出丰种食物供你选择。抽到什么吃什么,极大的解决选择困难的问题。 客户需要生成1000条俏皮灵动,趣味盎然,比…

搭建 MySQL MHA

搭建 MySQL MHA 搭建 MySQL MHA实验拓扑图实验环境实验思路MHA架构故障模拟 实验部署数据库安装主从复制部署时间同步主服务器配置从服务器配置创建链接 MHA搭建安装依赖的环境安装 node 组件安装 manager 组件配置无密码认证在 manager 节点上配置 MHA管理 mysql 节点服务器创…

UI(二)控件

文章目录 PatternLockProgressQRCodeRadioRatingRichTextScollBarSearchSelectSlideSpanStepper和StepperItemTextTextAreaTextClockTextInputTextPickerTextTimerTimePickerToggleWeb PatternLock PatternLock是图案密码锁组件,以九宫格图案的方式输入密码&#x…

RTDETR更换优化器——Lion

RTDETR更换Lion优化器 论文:https://arxiv.org/abs/2302.06675 代码:https://github.com/google/automl/blob/master/lion/lion_pytorch.py 简介: Lion优化器是一种基于梯度的优化算法,旨在提高梯度下降法在深度学习中的优化效果…

vue3中通过vditor插件实现自定义上传图片、录入echarts、脑图、markdown语法的编辑器

1、下载Vditor插件 npm i vditor 我的vditor版本是3.10.2,大家可以自行选择下载最新版本 官网:Vditor 一款浏览器端的 Markdown 编辑器,支持所见即所得(富文本)、即时渲染(类似 Typora)和分屏 …

软件必须要进行跨浏览器测试吗?包括哪些内容和注意事项?

随着互联网的普及和发展,用户对软件的要求越来越高。无论是在台式机、笔记本还是移动设备上,用户都希望能够以最好的体验来使用软件。然而,不同的浏览器在解析网页的方式、支持的技术标准等方面存在差异,这就导致了同一个网页在不…

使用J-Link Commander查找STM32死机问题

接口:PA13,PA14,请勿连接复位引脚。 输入usb命令这里我已经连接过了STM32F407VET6了。 再输入connect命令这里我已经默认选择了SWD接口,4000K速率。 可以输入speed 4000命令选择4000K速率: 写一段崩溃代码进行测试: void CashCode(void){*((volatil…

(2024,RNN,梯度消失和爆炸,记忆诅咒,重参数化和动态学习率,权重矩阵对角化,复值 RNN)梯度消失和爆炸并不是故事的结局

Recurrent neural networks: vanishing and exploding gradients are not the end of the story 公和众与号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0. 摘要 1. 梯度消失和梯度爆炸 2. 记…

PyCharm2024 for mac Python编辑开发

Mac分享吧 文章目录 效果一、下载软件二、开始安装1、双击运行软件(适合自己的M芯片版或Intel芯片版),将其从左侧拖入右侧文件夹中,等待安装完毕2、应用程序显示软件图标,表示安装成功3、打开访达,点击【文…