本文へ移動
cccskills
無料GitHub で公開

byted-bytehouse-data-quality-inspector

ByteHouse 数据质量检查工具。当用户提供集群连接信息、数据库名和表名,需要检查排序键、主键和分区键所使用的列的空值、零值情况,是否存在异常分布,以及排序键、主键的重复情况时,使用此技能。适用于 "数据质量检查"、"排序键 / 主键 / 分区键分析"、"空值分析"、"零值分析"、"重复键检查"、"Top 分布" 等诉求。

インストール方法を見る

含まれるファイル(3)

  • SKILL.md5.9 KB
  • scripts/export_config.sh540 B
  • scripts/inspector.py7.9 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

ByteHouse 数据质量检查工具

描述

本 Skill 用于对 ByteHouse 表的关键键列(分区键、排序键、主键)进行快速数据质量分析,识别空值、零值、异常分布以及重复键等常见质量问题。

当以下情况时使用此 Skill:

  1. 用户需要检查 ByteHouse 中某个表的数据质量。
  2. 用户需要分析表的排序键、主键或分区键的空值、零值情况。
  3. 用户想了解键列的数据分布情况(Top N 值及占比)。
  4. 用户需要检查排序键 / 主键组合是否存在重复记录。
  5. 用户提到 "数据质量"、"空值检查"、"零值检查"、"主键重复"、"排序键重复"、"分区键异常" 等关键词。

前置条件

  • Python 3.8+
  • clickhouse-connect 库(未安装时执行 pip install clickhouse-connect)
  • jq(export_config.sh 依赖,用于解析 JSON 配置。安装方式:brew install jq 或 sudo apt install jq)
  • 有效的 ByteHouse 连接信息(保存于 ~/.bytehouse_config.json)

📁 文件说明

  • SKILL.md — 本文件,技能主文档。
  • scripts/inspector.py — 数据质量检查主程序。
  • scripts/export_config.sh — 从 ~/.bytehouse_config.json 加载配置到环境变量(依赖 jq)。

配置说明

配置保存在 ~/.bytehouse_config.json。如果该文件存在且非空,直接使用文件中的配置;如果不存在,则向用户索要 ByteHouse 连接信息(可以把 ByteHouse 连接信息获取指引 一并发给用户),拿到后写入 JSON 文件,避免重复询问。当用户切换 ByteHouse 集群时,一并更新该文件。

{
   "BYTEHOUSE_HOST": "<ByteHouse-host>",
   "BYTEHOUSE_PASSWORD": "<ByteHouse-password>"
}
  • BYTEHOUSE_HOST(主机地址)与 BYTEHOUSE_PASSWORD(密码)必须由用户提供。

加载配置:

source scripts/export_config.sh

🧭 智能体使用指引

  1. 确认配置:source scripts/export_config.sh,确保 BYTEHOUSE_HOST 与 BYTEHOUSE_PASSWORD 已就绪。
  2. 确认目标表:向用户确认要检查的库名(--database)和表名(--table)。多张表可以循环调用脚本。
  3. 执行检查:python3 scripts/inspector.py --database <库名> --table <表名>。
  4. 解读结果:脚本会分别输出「空值/零值/分布」和「主键/排序键重复情况」两大部分。若用户没有明确关注点,重点关注空值占比 > 1%、零值占比 > 5%、Top1 占比 > 20%、重复键行数占比 > 0.5% 等异常。
  5. 禁止越权操作:本 Skill 只做只读的统计查询,不要触发 DELETE / OPTIMIZE / DROP 等 DML/DDL 操作。修复数据应由用户在评估后单独操作。

🎯 功能特性

  1. 自动识别键列

    • 从 system.columns 自动获取表的分区键、排序键和主键列。
  2. 空值与零值检查

    • 统计键列的 Null 值数量和占比。
    • 数值类型统计 0 值数量和占比;字符串类型统计空字符串数量和占比。
  3. 异常分布分析

    • 统计键列出现频率最高的 Top 5 值及占比。
  4. 重复情况检查

    • 分别针对主键组合、排序键组合,统计存在重复的唯一键组数以及涉及的总行数。

🚀 快速开始

# 加载配置
source scripts/export_config.sh

# 检查单张表
python3 scripts/inspector.py --database default --table my_table

💡 常用姿势

  • 批量检查多张表:

    for tbl in orders order_items users; do
      python3 scripts/inspector.py --database default --table "$tbl"
    done
    
  • 和资产分析结合:先用 byted-bytehouse-data-asset-analyzer 输出的目录挑出重点表,再逐表跑本 Skill。

示例输出摘要

=== 表 default.my_table 数据质量分析报告 ===
总行数: 1000000
分区键: date
排序键: user_id, event_time
主键: user_id
=============================================

1. 关键列空值、零值及分布情况分析:
---------------------------------------------
▶ 列 [user_id] (类型: String):
  - 空值 (Null) 数量: 0 (占比: 0.00%)
  - 空字符串 ('') 数量: 15 (占比: 0.00%)
  - 数据分布 (Top 5):
    * user_123: 500 行 (占比: 0.05%)
    ...

2. 键重复情况分析:
---------------------------------------------
▶ 主键 [user_id] 重复情况:
  - 存在重复的唯一键组合数: 850
  - 涉及的重复行数: 15000 (占比: 1.50%)

注意事项

  • 对超大表运行统计聚合会占用一定的集群资源,请在业务低峰或独立计算组上执行。
  • 本工具只检测质量问题,不做任何自动修复动作。
  • 若目标表数据量特别大且用户可以接受抽样,可以先与用户确认后再让脚本增加 SAMPLE / LIMIT(当前脚本默认为全表统计)。

失败兜底建议

现象处理方式
BYTEHOUSE_HOST 未设置引导用户提供连接信息,写入 ~/.bytehouse_config.json 后 source scripts/export_config.sh。
clickhouse-connect not installedpip install clickhouse-connect 或 python3 -m pip install --user clickhouse-connect。
找不到表 xxx让用户确认库名、表名,或先用 byted-bytehouse-ai-query 的 list_tables.py 列表核对。
检查耗时过长 / 触发资源告警建议在独立计算组或非业务高峰执行,必要时先只对疑似有问题的关键列做检查。

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Deploy, update, validate, and troubleshoot the AgentKit hybrid-cloud customer-service demo in this directory. Use when a user asks an AI coding agent to follow the README, deploy or update the demo, configure OpenAPI/Runtime/Knowledge/Memory/Sandbox/MCP/Skills/A2A, run customer-view validation, or record manual platform steps and failures.

日本語の概要は準備中です。原文の説明を表示しています。

bytedance/agentkit-samples4702026年10月9日 更新

Generate deterministic SVG algorithmic artwork. Invoke when the user asks for geometric, generative, or algorithmic visual art.

日本語の概要は準備中です。原文の説明を表示しています。

bytedance/agentkit-samples4702026年10月9日 更新

通过本地 Python CLI 和 OpenAPI 客户端管理、排查火山云手机资源。适用于查询实例和资源、截图、执行命令、查看任务、检查应用、主机和机房容量、标签、DNS、路由,以及操作已授权的测试云手机实例。

日本語の概要は準備中です。原文の説明を表示しています。

bytedance/agentkit-samples4702026年10月9日 更新

Launch and continue the Volcengine AI Research survey workflow for concept testing, audience design, questionnaire drafting, interview guide generation, execution confirmation, progress checks, and result queries. Use this skill when the user wants to create, revise, confirm, execute, or follow up on a real AI research survey task in ABCompass instead of doing generic brainstorming, copywriting, translation, summarization, or broad market discussion.

日本語の概要は準備中です。原文の説明を表示しています。

bytedance/agentkit-samples4702026年10月9日 更新

Create and check long-running video material evaluation tasks. Use this skill when the user wants to submit videos for evaluation, check an existing video evaluation task list, or fetch the result of a previously created video evaluation task. This skill is not a general-purpose video upload skill because upload is allowed only as an internal step of task creation. Authentication uses an API key passed as an Authorization bearer token.

日本語の概要は準備中です。原文の説明を表示しています。

bytedance/agentkit-samples4702026年10月9日 更新

火山引擎 AntiDDoSPro 高防域名只读巡检。用户要查域名健康、攻击、流量、CC/WAF/区域封禁、智能防护或 CCAI 状态时使用。

日本語の概要は準備中です。原文の説明を表示しています。

bytedance/agentkit-samples4702026年10月9日 更新

bytedance のスキルをすべて見る

このスキルの問題を報告する