首页 > 其他分享 >datax 抽数据框架

datax 抽数据框架

时间:2023-05-31 22:03:50浏览次数:47  
标签:opt 框架 bigdata rf datax ._ rm 数据

标签(空格分隔): 协作框架


一:datax 概述

1.1 datax 介绍

1.1、什么使datax
DataX 是阿里巴巴开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、
HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。

1.2、datax的设计

为了解决异构数据源同步问题,DataX将复杂的网状的同步链路变成了星型数据链路,
DataX作为中间传输载体负责连接各种数据源。当需要接入一个新的数据源的时候,
只需要将此数据源对接到DataX,便能跟已有的数据源做到无缝数据同步。

datax 抽数据框架_json

1.3 datax 的架构

datax 抽数据框架_datax_02

1.4 运行原理

datax 抽数据框架_hdfs_03

二、快速入门

2.1、官方地址

下载地址:http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz 源码地址:https://github.com/alibaba/DataX

mkdir -p /opt/bigdata/
cd /opt/bigdata/
wget http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz
tar -zxvf datax.tar.gz
cd /opt/bigdata/datax/bin/
 python datax.py /opt/bigdata/datax/job/job.json
----
报错
com.alibaba.datax.common.exception.DataXException: Code:[Common-00], 
Describe:[您提供的配置文件存在错误信息,请检查您的作业配置 .] - 配置信息错误,
您提供的配置文件[/opt/datax/plugin/reader/._drdsreader/plugin.json]不存在. 
请检查您的配置文件.


cd /opt/bigdata/datax/plugin/reader/

---
#reader的删除项
rm -rf ._hdfsreader 
rm -rf ._otsstreamreader 
rm -rf ._otsreader 
rm -rf ._txtfilereader 
rm -rf ._ftpreader 
rm -rf ._streamreader 
rm -rf ._odpsreader 
rm -rf ._cassandrareader 
rm -rf ._hbase11xreader 
rm -rf ._oraclereader 
rm -rf ._postgresqlreader 
rm -rf ._mysqlreader 
rm -rf ._rdbmsreader 
rm -rf ._mongodbreader 
rm -rf ._ossreader 
rm -rf ._sqlserverreader 
rm -rf ._hbase094xreader
rm -rf ._drdsreader 


---
cd /opt/bigdata/datax/plugin/writer

---
#writer的删除项
rm -rf ._hbase11xsqlwriter
rm -rf ._ocswriter 
rm -rf ._adswriter 
rm -rf ._drdswriter
rm -rf ._hbase11xwriter 
rm -rf ._hbase094xwriter 
rm -rf ._sqlserverwriter 
rm -rf ._osswriter 
rm -rf ._mongodbwriter 
rm -rf ._rdbmswriter 
rm -rf ._mysqlwriter 
rm -rf ._postgresqlwriter 
rm -rf ._oraclewriter 
rm -rf ._cassandrawriter 
rm -rf ._odpswriter 
rm -rf ._streamwriter 
rm -rf ._ftpwriter 
rm -rf ._txtfilewriter 
rm -rf ._otswriter 
rm -rf ._hdfswriter
---
再次执行:
cd /opt/bigdata/datax/bin/
 python datax.py /opt/bigdata/datax/job/job.json

datax 抽数据框架_hdfs_04

三、使用案例

3.1 从stream流读取数据并打印到控制台

1)查看配置模板

python datax.py -r streamreader -w streamwriter

DataX (DATAX-OPENSOURCE-3.0), From Alibaba !
Copyright (C) 2010-2017, Alibaba Group. All Rights Reserved.
Please refer to the streamreader document:
     https://github.com/alibaba/DataX/blob/master/streamreader/doc/streamreader.md 

Please refer to the streamwriter document:
     https://github.com/alibaba/DataX/blob/master/streamwriter/doc/streamwriter.md 
 
Please save the following configuration as a json file and  use
     python {DATAX_HOME}/bin/datax.py {JSON_FILE_NAME}.json 
to run the job.

{
    "job": {
        "content": [
            {
                "reader": {
                    "name": "streamreader", 
                    "parameter": {
                        "column": [], 
                        "sliceRecordCount": ""
                    }
                }, 
                "writer": {
                    "name": "streamwriter", 
                    "parameter": {
                        "encoding": "", 
                        "print": true
                    }
                }
            }
        ], 
        "setting": {
            "speed": {
                "channel": ""
            }
        }
    }
}

datax 抽数据框架_json_05

2)根据模板编写配置文件

cd /opt/bigdata/datax/job
vim 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": 1
       }
    }
   }
}
----
运行:
/opt/bigdata/datax/bin/datax.py /opt/bigdata/datax/job/stream2stream.json

datax 抽数据框架_datax_06

datax 抽数据框架_datax_07

3.2 读取MySQL中的数据存放到HDFS

3.2.1 查看官方模板

python /opt/bigdata/datax/bin/datax.py -r mysqlreader -w hdfswriter

datax 抽数据框架_hdfs_08

datax 抽数据框架_hdfs_09

mysqlreader参数解析:

datax 抽数据框架_json_10

hdfswriter参数解析:

datax 抽数据框架_datax_11

3.2.2 准备数据

1)创建student表

mysql> create database datax;
mysql> use datax;
mysql> create table student(id int,name varchar(20));

2)插入数据

mysql> insert into student values(1001,'zhangsan'),(1002,'lisi'),(1003,'wangwu');
mysql> insert into student values(1004,'qq'),(1005,'yy'),(1006,'zz');

datax 抽数据框架_json_12

datax 抽数据框架_datax_13

3.2.3 编写配置文件

cdh 上面执行:

cd /opt/bigdata/datax/job/
vim mysql2hdfs.json

{
    "job": {
        "content": [
            {
                "reader": {
                    "name": "mysqlreader", 
                    "parameter": {
                        "column": [
                            "id",
                            "name"
                        ], 
                        "connection": [
                            {
                                "jdbcUrl": [
                                    "jdbc:mysql://172.30.10.11:3306/datax"
                                ], 
                                "table": [
                                    "student"
                                ]
                            }
                        ], 
                        "username": "root", 
                        "password": "flyfish225"
                    }
                }, 
                "writer": {
                    "name": "hdfswriter", 
                    "parameter": {
                        "column": [
                            {
                                "name": "id",
                                "type": "int"
                            },
                            {
                                "name": "name",
                                "type": "string"
                            }
                        ],  
                        "defaultFS": "hdfs://172.30.10.11:8020", 
                        "fieldDelimiter": "\t", 
                        "fileName": "student.txt", 
                        "fileType": "text", 
                        "path": "/", 
                        "writeMode": "append"
                    }
                }
            }
        ], 
        "setting": {
            "speed": {
                "channel": "1"
            }
        }
    }
}

3.2.4 执行任务

su - hdfs 
cd /opt/bigdata/datax/

bin/datax.py job/mysql2hdfs.json

datax 抽数据框架_json_14

datax 抽数据框架_datax_15

标签:opt,框架,bigdata,rf,datax,._,rm,数据
From: https://blog.51cto.com/flyfish225/6390166

相关文章

  • 大数据展示框架SuperSet 安装
    标签(空格分隔):协作框架**1.1Superset概述**ApacheSuperset是一个现代的数据探索和可视化平台。它功能强大且十分易用,可对接各种数据源,包括很多现代的大数据分析引擎,拥有丰富的图表展示形式,并且支持自定义仪表盘。**1.2环境说明**本课程使用的服务器操作系统为CentOS7,Sup......
  • 深度剖析数据在内存中的存储
    一、数据的类型1、C语言中的数据类型可以分为以下几种:2、在C语言中char类型占1个字节short类型占2个字节int类型占4个字节long类型没有固定具体的大小,所占空间>=int类型所占空间longlong类型占8个字节float类型占4个字节double类型占8个字节……3、类型的意义     (1)这个(......
  • python基础(变量、数据类型)
    python简介Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。python变量什么是变量:在python中,变量其实严格意义上称作为“名......
  • Js 常见数据类型及判断方法及手写深拷贝
    常见值类型:undefined、String、Number、boolean、Symbol.常见 引用类型:Array、Object、function(特殊引用类型,单不用于存储数据,所以 “没有拷贝、复制函数” 这说法)、null(特殊引用类型,指针指向为空地址)判断数据类型的方法:typeof运算符leta;conststring='abc......
  • m基于HOG特征提取和GRNN网络的人体姿态识别算法matlab仿真,样本为TOF数据库的RGB-D深
    1.算法仿真效果matlab2022a仿真结果如下:  TOF数据库如下:      2.算法涉及理论知识概要1、HOG特征:        方向梯度直方图(HistogramofOrientedGradient,HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统......
  • Redis常用数据类型
    一、Redis键(key)keys*查看当前库所有key(匹配keys*1)existskey 判断某个key是否存在typekey查看key类型delkey 删除keyunlinkkey根据value选择非阻塞删除,仅将keys从keyspace元数据中删除,真正的删除操作会在后续异......
  • 金融用户敏感数据如何优雅地实现脱敏?
    项目介绍日志脱敏是常见的安全需求。普通的基于工具类方法的方式,对代码的入侵性太强,编写起来又特别麻烦。sensitive提供了基于注解的方式,并且内置了常见的脱敏方式,便于开发。日志脱敏为了金融交易的安全性,国家强制规定对于以下信息是要日志脱敏的:用户名手机号邮箱......
  • 【数据结构】吉司机线段树
    【数据结构】吉司机线段树(SegmentTreeBeats)吉司机线段树,是由杭州学军中学的吉如一在2016年国集论文当中提出的,解决了区间最值操作和区间历史最值问题。题目描述给出一个长度为\(n\)的数列\(A\),同时定义一个辅助数组\(B\),\(B\)开始与\(A\)完全相同。接下来进行了\(m......
  • 如何使用TreeView展示树状数据
    如何使用TreeView展示树状数据TreeView是一个可用于显示树形数据结构的UI组件。它提供了一个可折叠、可展开的树状视图。TreeView是一个树状结构,其根节点的类型是TreeItem。每个TreeItem又可以包含若干TreeItem。由此可组成一颗树形结构。效果展示示例代码importj......
  • DHVT:小数据集也能轻松训练!缩小VIT与CNN鸿沟,解决从零开始的训练难题
    前言 VIT在归纳偏置方面存在空间相关性和信道表示的多样性两大缺陷。所以论文提出了动态混合视觉变压器(DHVT)来增强这两种感应偏差。在空间方面,采用混合结构,将卷积集成到补丁嵌入和多层感知器模块中,迫使模型捕获令牌特征及其相邻特征。在信道方面,引入了MLP中的动态特征聚合模块......