原版的datax将数据库数据输出到指定文件时,会在该文件名后面加上一个随机数,不方便使用。这是datax源码中的问题,需要去 https://github.com/alibaba/DataX 下载源码并重新编译datax。参考datax源代码编译安装_程序员_IT序号网 (itno.cn)
- 修改
./datax-master/txtfilewriter/src/main/java/com/alibaba/datax/plugin/writer/txtfilewriter/TxtFileWriter.java
237行,注释掉后缀fileSuffix代码,只包含原文件名filePrefix
String fullFileName = null;
fullFileName = filePrefix;//only carry prefix
// fileSuffix = UUID.randomUUID().toString().replace('-', '_');
// fullFileName = String.format("%s__%s", filePrefix, fileSuffix);
// while (allFiles.contains(fullFileName)) {
// fileSuffix = UUID.randomUUID().toString().replace('-', '_');
// fullFileName = String.format("%s__%s", filePrefix,
// fileSuffix);
// }
allFiles.add(fullFileName);
-
重编译datax:
mvn -U clean package assembly:assembly -Dmaven.test.skip=true
。如果发现哪个依赖(我这里是neo4jwriter和datax-example-neo4j)下不来,就在pom.xml中注释掉 -
编译完成后,会在./datax-master/target目录下生成datax.tar.gz文件,解压即可