华为云对象存储OBSDataX对接OBS_云淘科技

概述

DataX是一个数据同步框架,实现了包括MySQL、SQL Server、Oracle、PostgreSQL、HDFS、Hive、HBase、OTS、ODPS等各种异构数据源之间高效的数据同步功能。OBS在大数据场景中可以替代Hadoop系统中的HDFS服务,本文介绍DataX如何对接OBS。

对接步骤

下载datax源码,以发布版本datax_v202308为例:下载地址。
修改编译datax。

升级hdfsreader和hdfswriter模块依赖的hadoop版本,以升级到2.8.3版本为例。

修改datax\hdfswriter\pom.xml和datax\hdfsreader\pom.xml文件配置:


2.8.3

编译datax。
执行以下命令,在datax源码根目录/target目录下生成datax.tar.gz压缩文件。

mvn -U clean package assembly:assembly -Dmaven.test.skip=true

安装datax。

解压datax.tar.gz到/opt/datax目录。
在Github下载hadoop-huaweicloud:下载地址。(建议使用hadoop 2.8.3版本下最新版本的hadoop-huaweicloud版本,例如hadoop-huaweicloud-2.8.3-hw-53.8,以最新版本为准)
将上述下载的jar包放入/opt/datax/plugin/writer/hdfswriter/libs和/opt/datax/plugin/reader/hdfsreader/libs。

验证是否对接成功。

示例:以txtfilereader为源端,以OBS为目的端。

创建作业配置文件file2obs.json。

{
    "setting":{

    },
    "job":{
        "setting":{
            "speed":{
                "channel":2
            }
        },
        "content":[
            {
                "reader":{
                    "name":"txtfilereader",
                    "parameter":{
                        "path":[
                            "/opt/test.txt"
                        ],
                        "encoding":"UTF-8",
                        "column":[
                            {
                                "index":0,
                                "type":"STRING"
                            },
                            {
                                "index":1,
                                "type":"STRING"
                            }
                        ],
                        "fieldDelimiter":"	"
                    }
                },
                "writer":{
                    "name":"hdfswriter",
                    "parameter":{
                        "defaultFS":"obs://obs-bucket",##obs桶
                        "fileType":"text",
                        "path":"/test",##obs桶中的路径
                        "fileName":"test",
                        "column":[
                            {
                                "name":"col1",
                                "type":"STRING"
                            },
                            {
                                "name":"col2",
                                "type":"STRING"
                            }
                        ],
                        "writeMode":"append",
                        "fieldDelimiter":"	",
                        "hadoopConfig":{##此部分hadoop配置必须添加
                            "fs.obs.impl":"org.apache.hadoop.fs.obs.OBSFileSystem",
                            "fs.obs.access.key":"可访问OBS的ak",
                            "fs.obs.secret.key":"可访问OBS的sk",
                            "fs.obs.endpoint":"OBS桶所在region"
                        }
                    }
                }
            }
        ]
    }
}

启动datax。

python /opt/datax/bin/datax.py file2obs.json

父主题: 对接大数据组件

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家