华为云对象存储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)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家