datax 搭建使用

文章目录

  • datax 环境搭建使用
    • 一、解压文件
    • 二、配置 json 文件
    • 三、执行命令

datax 环境搭建使用

用于全量同步

一、解压文件

将包上传至服务器
在这里插入图片描述
输入命令: tar -zxvf datax.tar.gz -C /opt/module/ 将包 解压到 /opt/module 目录
解压完之后,不需要任何的配置,直接就可以用
我们可以测试一下,
输入命令:/opt/module/datax/bin/datax.py /opt/module/datax/job/job.json 显示这些结果就表示成功了,这里面的 datax.py 文件是已经直接有的了,我们不用管,然后我们写数据只需要 编写 json 文件就可以了。
在这里插入图片描述

二、配置 json 文件

配置文件,可以直接进入这个网站:https://github.com/alibaba/DataX
然后打开之后,往下面翻
在这里插入图片描述
有各种读写的配置
在这里插入图片描述
我们就是直接从 mysql 里面读,然后写到 hdfs 上面去,我们直接点 mysql 的读,然后可以查看 mysql 的文档
在这里插入图片描述
这里有一个,可以编辑 json 格式化的网站:https://baidufe.com/fehelper/json-format/index.html
在这里插入图片描述
这上面的json job有两部分,一个是mysql读的配置 mysqlreader 和 hdfswriter 这两个名字是不能随意更改的
这是 用 表的方式导入

{
"job": {
"content": [
{
"reader": {
"name": "mysqlreader",
"parameter": {
"column": [
"id",
"name",
"region_id",
"area_code",
"iso_code",
"iso_3166_2"
],
"connection": [
{
"jdbcUrl": [
"jdbc:mysql://hadoop105:3306/edu"],
"table": [
"base_province"
]
}
],
"password": "p@ssw0rd",
"splitPk": "",
"username": "root"
}
},
"writer": {
"name": "hdfswriter",
"parameter": {
"column": [
{
"name": "id",
"type": "bigint"
},
{
"name": "name",
"type": "string"
},
{
"name": "region_id",
"type": "string"
},
{
"name": "area_code",
"type": "string"
},
{
"name": "iso_code",
"type": "string"
},
{
"name": "iso_3166_2",
"type": "string"
}
],
"compress": "gzip",
"defaultFS": "hdfs://hadoop105:9000",
"fieldDelimiter": "\t",
"fileName": "base_province",
"fileType": "text",
"path": "/user/hive/warehouse",
"writeMode": "append"
}
}
}
],
"setting": {
"speed": {
"channel": 1
}
}
}
}

这个是querySql方式,用sql的方式导入,建议使用这种,比如有时候需要复杂查询,然后筛选出来的数据再导入进去,然后 文件里面的 hdfs 路径,还有 mysql 连接的配置那些需要配置好。

{
"job": {
"content": [
{
"reader": {
"name": "mysqlreader",
"parameter": {
"column": [
"id",
"name",
"region_id",
"area_code",
"iso_code",
"iso_3166_2"
],
"connection": [
{
"jdbcUrl": [
"jdbc:mysql://hadoop105:3306/edu"
],
"querySql": [
"select id,name,region_id,area_code,iso_code,iso_3166_2 from base_province where id>=3"
]
}
],
"password": "p@ssw0rd",
"splitPk": "id",
"username": "root"
}
},
"writer": {
"name": "hdfswriter",
"parameter": {
"column": [
{
"name": "id",
"type": "bigint"
},
{
"name": "name",
"type": "string"
},
{
"name": "region_id",
"type": "string"
},
{
"name": "area_code",
"type": "string"
},
{
"name": "iso_code",
"type": "string"
},
{
"name": "iso_3166_2",
"type": "string"
}
],
"compress": "gzip",
"defaultFS": "hdfs://hadoop105:9000",
"fieldDelimiter": "\t",
"fileName": "base_province",
"fileType": "text",
"path": "${targetdir}",
"writeMode": "append"
}
}
}
],
"setting": {
"speed": {
"channel": 3
}
}
}
}

三、执行命令

我们将 json 文件写好之后,我们可以执行了
输入命令:/opt/module/datax/bin/datax.py /opt/module/datax/job/base_province.json
运行成功
在这里插入图片描述
然后我们在 去查看一下hdfs 查看一下文件
在这里插入图片描述
然后我们来读取一下,查看里面的数据
输入命令:hdfs dfs -cat /user/hive/warehouse/base_province__e27b955a_15bc_4192_b187_d60ece18be86.gz | zcat
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NOIP 2017 宝藏----Java题解

目录 NOIP 2017 宝藏 题目描述 输入描述: 输出描述: 输入 输出 说明 输入 输出 说明 备注: 代码实现: NOIP 2017 宝藏 时间限制:C/C 1秒,其他语言2秒 空间限制:C/C 262144K,其他语言524288K 64bit IO For…

Meta开源支持1000多种语言的文本转语音与语音识别大语言模型

据不完全统计,地球上有超过7000多种语言,而现在的大语言模型仅仅只涉及到了主流的100多种语言。相对全球7000多种语言来讲,这仅仅只是其中的一小部分。如何让全球的人获益,把大语言模型扩展到更多的语言上,一直是大语言模型研究的重点。Meta发布了涵盖 1406 种语言的预训练…

修改Openwrt软路由的web端口

如何修改openwrt路由器的web访问端口号? 在OpenWrt路由器上,如何修改Web访问端口号,通常涉及到修改HTTP服务器的配置文件。默认情况下,OpenWrt使用的HTTP服务器是uHTTPd。 以下是修改Web访问端口号的步骤: 一、通过…

Install Docker in Linux

Docker官网链接: https://docs.docker.com/ 1.确定Linux版本 新版本的Docker对Linux系统版本有一定的要求。如果Linux的发行版系统是centOS,安装最新版的docker需要centOS 7以上的系统。 在Docker安装帮助页面查看支持的系统版本。 Docker帮助页面:https://docs…

dameng数据库数据id decimal类型,精度丢失

问题处理 这一次也是精度丢失,但是问题呢还是不一样,这一次所有的id都被加一了,只有id字段被加一,还有的查询查出来封装成对象之后对象的id字段被减一了,数据库id字段使用的decimal(20,6)&…

接口测试和功能测试有什么区别

本文主要分为两个部分: 第一部分:主要从问题出发,引入接口测试的相关内容并与前端测试进行简单对比,总结两者之前的区别与联系。但该部分只交代了怎么做和如何做?并没有解释为什么要做? 第二部分&#xff1…

阿里云 OSS使用介绍

1、什么是阿里云 OSS? OSS 为 Object Storage Service,即对象存储服务。是阿里云提供的海量、安全、低成本、高可靠的云存储服务。 OSS 具有与平台无关的 RESTful API 接口,可以在任意应用、任意时间、任意地点 存储与访问 任何类型的数据。…

【vue】0到1的常规vue3项目起步

创建项目并整理目录 npm init vuelatestjsconfig.json配置别名路径 配置别名路径可以在写代码时联想提示路径 {"compilerOptions" : {"baseUrl" : "./","paths" : {"/*":["src/*"]}} }elementPlus引入 1. 安装e…

玩转硬件之C51的玩法(一)——破解“口红糖”中的电路

智能玩具:玩具行业的新风口 玩具是儿童的好伙伴,也是成人的乐趣来源。 随着科技的进步和消费的升级,玩具的形式和功能也在不断创新,智能玩具作为玩具行业的新风口,正受到越来越多的关注和喜爱。 什么是智能玩具&…

关于session的不断变化问题

今天在帮同学解决一个小问题,差点阴沟翻船。 问题再现:他从github上拉了一个项目下来跑,结果发生跑不通问题出现在验证码一直不对。 我一看项目源码,验证码生成后存储再session中了,等用户发送请求验证的时候sessionI…

若依侧边栏添加计数标记效果

2023.11.13今天我学习了如何对若依的侧边栏添加技术标记的效果&#xff0c;如图&#xff1a; 我们需要用到两个页面&#xff1a; 先说子组件实现计数标记效果 1.item.vue <script> export default {name: MenuItem,functional: true,props: {icon: {type: String,defau…

代码随想录 Day44 动规12 LeetCode T300 最长递增子序列 T674 最长连续递增序列 T718 最长重复子数组

前言 本期我们来解决动规的经典题型------ 子数组问题 我们还是会使用动规五部曲来解决问题,下面我们仍然列出动规五部曲 1.明确dp数组含义 2.明确dp数组如何推导-递推公式 3.初始化dp数组 4.确定遍历顺序 5.打印dp数组排错 LeetCode T300 最长递增子序列 题目链接:300. 最长…