gpt4 book ai didi

hadoop - hdfs dfs -getmerge 命令有什么作用?

转载 作者:可可西里 更新时间:2023-11-01 14:45:44 26 4
gpt4 key购买 nike

作为配置单元查询的结果,我得到了多个输出文件(按排序方式分发),现在我想合并它们以生成一个文件。所以我尝试了 hdfs dfs -getmerge 命令。现在我想了解 -getmerge 是在连接之前对文件进行排序还是只是连接?

最佳答案

public static boolean More ...copyMerge(FileSystem srcFS, Path srcDir, 
277 FileSystem dstFS, Path dstFile,
278 boolean deleteSource,
279 Configuration conf, String addString) throws IOException {
280 dstFile = checkDest(srcDir.getName(), dstFS, dstFile, false);
281
282 if (!srcFS.getFileStatus(srcDir).isDirectory())
283 return false;
284
285 OutputStream out = dstFS.create(dstFile);
286
287 try {
288 FileStatus contents[] = srcFS.listStatus(srcDir);
289 Arrays.sort(contents);
290 for (int i = 0; i < contents.length; i++) {
291 if (contents[i].isFile()) {
292 InputStream in = srcFS.open(contents[i].getPath());
293 try {
294 IOUtils.copyBytes(in, out, conf, false);
295 if (addString!=null)
296 out.write(addString.getBytes("UTF-8"));
297
298 } finally {
299 in.close();
300 }
301 }
302 }
303 } finally {
304 out.close();
305 }
306
307
308 if (deleteSource) {
309 return srcFS.delete(srcDir, true);
310 } else {
311 return true;
312 }
313 }

它对文件数组进行排序(默认升序),源hadoop 0.23

关于hadoop - hdfs dfs -getmerge 命令有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24893613/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com