본문으로 건너뛰기
cccskills
무료GitHub에 공개

hudi-table-health

Check whether Apache Hudi table maintenance is keeping pace with incoming data. Runs a read-only utility, interprets its JSON report, and explains unhealthy or skipped checks with concrete next steps.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Checks whether an Apache Hudi table's table services (compaction, cleaning, archival, savepoints) are keeping up with ingestion, by running the HoodieTableHealthChecker utility and interpreting its JSON report. Invoke when a user asks whether a Hudi table is healthy, whether compaction or cleaning is falling behind, why the active timeline keeps growing, or what to do about a savepoint blocking archival.

설치 방법 보기

이럴 때 유용합니다

  • Checking Hudi table maintenance health
  • Investigating delayed compaction or cleaning
  • Finding why the active timeline keeps growing
  • Investigating savepoints that block archival

포함된 파일(3)

  • SKILL.md5.4 KB
  • README.md2.4 KB
  • references/checks.md4.6 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -->

Hudi Table Health

You are helping an operator find out whether a Hudi table is progressing as expected, and what to do if it is not. You do this by running HoodieTableHealthChecker — a read-only utility shipped in hudi-utilities — and reading its JSON report. You never guess at a table's health from memory; every verdict you give traces back to a line in that report.

What the tool answers

CheckQuestion
compactionAre delta commits piling up past the configured trigger on a Merge-on-Read table?
cleanerAre write commits piling up without a clean completing?
savepointIs a savepoint sitting behind the archival retention, pinning the timeline?
archivalIs the active timeline staying bounded?

Each check reports HEALTHY, UNHEALTHY, or SKIPPED. SKIPPED means the check could not judge — usually because a writer property it needs was not supplied. It is silence, not a pass.

Step 1 — collect what the tool needs

Two things, and the second is the one users forget:

  1. The table base path.
  2. The writer properties the table is written with. Every verdict is relative to configuration: fifty delta commits is fine under one trigger setting and alarming under another. Ask for a properties file or the individual hoodie.* values. The properties that matter per check are listed in references/checks.md.

If the user has no properties to hand, say plainly what will happen: checks whose property is missing will report SKIPPED. Offer --apply-all-defaults as an explicit choice, and explain the trade — Hudi's defaults may not match how this table is actually written, so a verdict under defaults can call a healthy table unhealthy. Never pass --apply-all-defaults without the user choosing it.

Step 2 — run it

The tool needs the hudi-utilities-bundle jar on the classpath. The checks are timeline-only, so a plain Java process is enough; spark-submit also works.

java -cp "$HUDI_UTILITIES_BUNDLE" org.apache.hudi.utilities.HoodieTableHealthChecker \
  --base-path <table base path> \
  --props <writer.properties> \
  --output JSON

Always request --output JSON. Capture the exit code as well as stdout: 0 healthy, 1 unhealthy, 2 the tool could not run (bad arguments, unreadable table, or a check that threw). On 2, read the errors array and stderr before saying anything about the table.

Use --checks compaction,cleaner to narrow the run when the user is investigating one service.

Step 3 — read the report

The JSON envelope is documented in references/checks.md. Dispatch on each check's status:

  • UNHEALTHY — quote the summary, then the findings verbatim. Findings are written as actionable sentences; do not paraphrase them into something vaguer. Then add the remedy from references/checks.md for that check.
  • SKIPPED — the summary names the missing property. Tell the user which property to supply, and do not treat the check as passed.
  • HEALTHY — say so in one line. Do not pad.

When reporting, lead with overallStatus, then unhealthy checks, then skipped, then healthy. Include the observed.* values from effectiveConfigs when they make a finding concrete ("37 commits since the last clean at 20260901120000000").

Step 4 — recommend, don't act

This skill diagnoses. It does not run compaction, delete savepoints, or change configuration. For every unhealthy check, give the operator the specific next command or thing to inspect (references/checks.md has these), and say whether the action is reversible. Deleting a savepoint is not.

Guardrails

  • Every claim about the table's health must come from the report. If you have not run the tool, say you have not, and do not speculate.
  • Never suggest enabling archival beyond savepoints as a workaround for a blocking savepoint. The remedy is to release the savepoint once the operation it was taken for is complete.
  • Never pass --apply-all-defaults without the user's explicit choice.
  • If the user asks about small files, partition layout, or metadata-table consistency, that is a different tool — point them to the layout analyzer or metadata-table health skill rather than stretching this report to cover it.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Design or review Apache Hudi tables through questions about data volume, updates, and usage. Get architecture recommendations, a decision record explaining tradeoffs, and configuration artifacts for supported processing paths.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Designing a new Hudi table
  • Reviewing an existing table design
  • Planning a small prototype
apache/hudi6.3천2026년 10월 22일 업데이트

Inspect an Apache Hudi table’s storage layout using a read-only analysis tool. Get report-based findings on table size, uneven data distribution, excessive partitions, small files, and concentrated writes, with suggested next steps.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Check table size and the largest partitions
  • Identify accumulated small files
  • Assess excessive partitioning and uneven data distribution
apache/hudi6.3천2026년 10월 22일 업데이트

apache의 스킬 모두 보기

이 스킬의 문제 신고