From 5d3f0140f54b8d1c24813044ad1ea78b8066f5ca Mon Sep 17 00:00:00 2001 From: v-zhangjc9 Date: Mon, 29 Apr 2024 14:41:35 +0800 Subject: [PATCH] =?UTF-8?q?feat(hudi-query):=20=E5=A2=9E=E5=8A=A0=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E6=9F=A5=E8=AF=A2=E8=B7=AF=E5=BE=84=E5=A4=A7=E5=B0=8F?= =?UTF-8?q?=E7=9A=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lanyuanxiaoyao/service/forest/service/HudiService.java | 3 +++ .../service/hudi/controller/HdfsController.java | 5 +++++ .../lanyuanxiaoyao/service/hudi/service/HdfsService.java | 7 +++++++ 3 files changed, 15 insertions(+) diff --git a/service-forest/src/main/java/com/lanyuanxiaoyao/service/forest/service/HudiService.java b/service-forest/src/main/java/com/lanyuanxiaoyao/service/forest/service/HudiService.java index 9e2bb6e..ead6b73 100644 --- a/service-forest/src/main/java/com/lanyuanxiaoyao/service/forest/service/HudiService.java +++ b/service-forest/src/main/java/com/lanyuanxiaoyao/service/forest/service/HudiService.java @@ -78,4 +78,7 @@ public interface HudiService { @Get("/hdfs/download") InputStream download(@Query("root") String root); + + @Get("/hdfs/size") + String size(@Query("root") String root); } diff --git a/service-hudi-query/src/main/java/com/lanyuanxiaoyao/service/hudi/controller/HdfsController.java b/service-hudi-query/src/main/java/com/lanyuanxiaoyao/service/hudi/controller/HdfsController.java index cf327a9..a171107 100644 --- a/service-hudi-query/src/main/java/com/lanyuanxiaoyao/service/hudi/controller/HdfsController.java +++ b/service-hudi-query/src/main/java/com/lanyuanxiaoyao/service/hudi/controller/HdfsController.java @@ -66,4 +66,9 @@ public class HdfsController { public void download(@RequestParam("root")String root, HttpServletResponse response) throws IOException { hdfsService.download(root, response.getOutputStream()); } + + @GetMapping("size") + public Long size(@RequestParam("root")String root) throws IOException { + return hdfsService.size(root); + } } diff --git a/service-hudi-query/src/main/java/com/lanyuanxiaoyao/service/hudi/service/HdfsService.java b/service-hudi-query/src/main/java/com/lanyuanxiaoyao/service/hudi/service/HdfsService.java index eb86370..3c12b89 100644 --- a/service-hudi-query/src/main/java/com/lanyuanxiaoyao/service/hudi/service/HdfsService.java +++ b/service-hudi-query/src/main/java/com/lanyuanxiaoyao/service/hudi/service/HdfsService.java @@ -143,4 +143,11 @@ public class HdfsService { } } } + + @Cacheable(value = "size-hpath", sync = true) + public Long size(String root) throws IOException { + try (FileSystem fileSystem = FileSystem.get(new Configuration())) { + return fileSystem.getContentSummary(new Path(root)).getLength(); + } + } }