@Test(timeout = 10000)
public void buildListingForMultipleSources() throws Exception {
FileSystem fs = cluster.getFileSystem();
String testRootString = "/tmp/source";
Path testRoot = new Path(testRootString);
if (fs.exists(testRoot)) {
delete(fs, testRootString);
}
Path sourceDir1 = new Path(testRoot, "foo/baz/");
Path sourceDir2 = new Path(testRoot, "foo/bang/");
Path sourceFile1 = new Path(testRoot, "foo/bar/source.txt");
URI target = URI.create("s3://bucket/target/moo/");
fs.mkdirs(sourceDir1);
fs.mkdirs(sourceDir2);
createFile(fs, new Path(sourceDir1, "baz_1.dat"));
createFile(fs, new Path(sourceDir1, "baz_2.dat"));
createFile(fs, new Path(sourceDir2, "bang_0.dat"));
createFile(fs, sourceFile1.toString());
final Path listFile = new Path(testRoot, "/tmp/fileList.seq");
listing.buildListing(listFile, options(Arrays.asList(sourceFile1, sourceDir1, sourceDir2), target));
try (SequenceFile.Reader reader = new SequenceFile.Reader(CONFIG, SequenceFile.Reader.file(listFile))) {
CopyListingFileStatus fileStatus = new CopyListingFileStatus();
Text relativePath = new Text();
assertThat(reader.next(relativePath, fileStatus), is(true));
assertThat(relativePath.toString(), is("/source.txt"));
assertThat(reader.next(relativePath, fileStatus), is(true));
assertThat(relativePath.toString(), is("/baz_1.dat"));
assertThat(reader.next(relativePath, fileStatus), is(true));
assertThat(relativePath.toString(), is("/baz_2.dat"));
assertThat(reader.next(relativePath, fileStatus), is(true));
assertThat(relativePath.toString(), is("/bang_0.dat"));
}
}
SimpleCopyListingTest.java 文件源码
java
阅读 20
收藏 0
点赞 0
评论 0
项目:circus-train
作者:
评论列表
文章目录