datax mysql to hdfs_DataX实现HDFS与MySQL其间数据同步_mysql

DataX实现HDFS与mysql之间数据同步

本案例仅适用于HDFS与MySQL之间的数据同步实现。

1、  在编译安装之前注意将release下面的setSharePath方法中的路径改为你自己的安装路径,笔者的为/home/woody/datax/libs.

2、  rpm打包之前,要修改*.spec文件中的路径,dataxpath,此外可能还需要注解掉部分赋值文件的代码,如cp  –r ${OLDPWD}****.properties ****.conf,在engine.spec中的jar包复制语句也要注解掉。

3、  注意将hdfsreader/writer(这两个文件的路径也是需要改的)中复制hadoop-core.Jar包的语句中的该jar包改为你自己的hadoop版本的hadoop-core.jar包。

4、  Mysqlreader/writer只需要修改路径就可以。

5、  接下来主要涉及到field/line by一致性的问题:

我们按正常顺序来搞一下:

首先将mysql数据同步到hdfs,需要用到mysqlreader 和hdfswriter

Mysqlreader文件不需要修改

Hdfswriter文件中的field_spilt=’/u0001’

Line_spilt=’/n’,别的地方不需要确认,只需要确认这两个地方。

然后将hdfs数据同步到mysql,需要用到hdfsreader和mysqlwriter

Hdfsreader文件中field_spilt=’/t’,该项确认即可

Mysqlwriter文件中sep=’/001’(注意该项保持不变即可)

String sql=”LOAD DATA LOCAL INFILE ‘hdfs://localhost:9000/test_in/part’ ”

Sql+=String.format(“DIELDS  TERMINATED BY ‘/u0001’ESCAPED BY ‘//’ ”)

Sql+=String.format(“LINES  TERMINATED  BY  ‘/n’”)

此外还要注意,mysqlwriterinputstreamadapter.java文件中的sep=’/u0001’

BREAK = ‘/n’行分隔符,NULL=’//N’ (NULL字面字符)这两项也值得注意。

以上东西确认完成之后就可以打包编译安装了。

接下来可以开始从mysql同步数据到hdfs了,要配置jobs下面mysqlreader_to_hdfswriter.xml文件:

ip/port/dbname/username/password/table这些都自己配置,where value=”1=1”;

sql value=”select * from test_datax” ; columns value=”*”这三项确认下即可,

hadoop.job.ugivalue=”woody,supergroup” ; hadoop_conf的值写你自己的hadoop core-site.xml文件路径即可,dir  value=”hdfs://localhost:9000/test_in” ;field_spilt value=”/u0001” ; line_spilt value=”/n” ; nullchar value = “/N” 这些项目确认即可。

然后就可以执行数据同步命令了。

接下来可以开始从hdfs同步数据到mysql了,要配置jobs下面hdfsreader_to_mysqlwriter.xml文件:

Hadoop.job.ugi/hadoop_conf/dir/field_spilt与以上相同即可,nullstring value=”/N” ;

col_filter一项注释掉。

ip/port/dbname/username/password/table这些与以上相同即可,pre value=”select * from test_datax” ; post value=”select * fromtest_datax” ; colorder value=”user_id,user_name” ;

set value=”user_id=user_id,user_name=user_name”

然后就可以执行数据同步命令了。

欢迎大家阅读《DataX实现HDFS与MySQL其间数据同步_mysql》,跪求各位点评,by 搞代码

e7ce419cf2d6ad34d01da2ceb8829eed.png

微信 赏一包辣条吧~

023a57327877fb4402bcc76911ec18ea.png

支付宝 赏一听可乐吧~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值