From 5eeb913cede4024e60f6b86056f34882af32dbe5 Mon Sep 17 00:00:00 2001 From: v-zhangjc9 Date: Fri, 15 Mar 2024 10:17:03 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E8=A1=A5=E5=85=85=E7=A6=BB=E7=BA=BF?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=88=AA=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++++ ...udi_web_offline_query_latest_time_result.png | Bin 0 -> 2550 bytes ...di_web_offline_query_latest_time_running.png | Bin 0 -> 15192 bytes 3 files changed, 4 insertions(+) create mode 100644 assets/hudi_web_offline_query_latest_time_result.png create mode 100644 assets/hudi_web_offline_query_latest_time_running.png diff --git a/README.md b/README.md index 6ab4d97..8c7eab6 100644 --- a/README.md +++ b/README.md @@ -773,6 +773,10 @@ _有时候Pulsar查询可能会有一点问题,导致整个任务失败,建 ![](assets/hudi_web_offline_query_latest_time.png) +![](assets/hudi_web_offline_query_latest_time_running.png) + +![](assets/hudi_web_offline_query_latest_time_result.png) + ## HDFS 由于运维工具的与实时配置库深度绑定,有时候针对临时环境、备份hudi表、测试环境等,没有运维工具辅助,可以直接查看hudi表实际结构来做简单的运维判断,这一节内容介绍一些和hudi表有关的结构,辅助做一些简单的运维判断。 diff --git a/assets/hudi_web_offline_query_latest_time_result.png b/assets/hudi_web_offline_query_latest_time_result.png new file mode 100644 index 0000000000000000000000000000000000000000..547afaad02967cb601319e11c29ba93a7d2de8a2 GIT binary patch literal 2550 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 literal 0 HcmV?d00001 diff --git a/assets/hudi_web_offline_query_latest_time_running.png b/assets/hudi_web_offline_query_latest_time_running.png new file mode 100644 index 0000000000000000000000000000000000000000..7933b2e42771f4ab37cd1ca1d44c682327c1a87c GIT binary patch literal 15192 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