cc-skill-clickhouse-io
ClickHouse-Analytik und Abfrageoptimierung meistern
Kämpfen Sie mit langsamen analytischen Abfragen auf großen Datensätzen? Lernen Sie ClickHouse-spezifische Muster für spaltenorientierte Speicherung, Abfrageoptimierung und Echtzeit-Aggregationen für Hochleistungs-Analytik.
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
Activez et commencez à utiliser
Tester
Utilisation de "cc-skill-clickhouse-io". Tabelle für stündliche Marktstatistiken erstellen
Résultat attendu:
CREATE TABLE market_stats_hourly (hour DateTime, market_id String, total_volume AggregateFunction(sum, UInt64), total_trades AggregateFunction(count, UInt32), unique_users AggregateFunction(uniq, String)) ENGINE = AggregatingMergeTree() PARTITION BY toYYYYMM(hour) ORDER BY (hour, market_id)
Utilisation de "cc-skill-clickhouse-io". Tägliche aktive Benutzer für die letzten 30 Tage abfragen
Résultat attendu:
SELECT toDate(timestamp) AS date, uniq(user_id) AS daily_active_users FROM events WHERE timestamp >= today() - INTERVAL 30 DAY GROUP BY date ORDER BY date
Utilisation de "cc-skill-clickhouse-io". Trade-Größen-Perzentile berechnen (Median, p95, p99)
Résultat attendu:
SELECT quantile(0.50)(trade_size) AS median, quantile(0.95)(trade_size) AS p95, quantile(0.99)(trade_size) AS p99 FROM trades WHERE created_at >= now() - INTERVAL 1 HOUR
Audit de sécurité
SûrThis skill is documentation-only containing SQL queries and TypeScript code examples for ClickHouse database operations. All 87 static analyzer findings are false positives: backticks are markdown code fences not shell execution, SQL aggregation functions (uniq, sum, countMerge) are not cryptographic algorithms, and system table queries are legitimate ClickHouse monitoring features. No executable code or security risks detected.
Score de qualité
Ce que vous pouvez construire
Data Engineer构建Analytik-Plattform
ClickHouse-Tabellen für Hochvolumen-Ereignisverfolgung und Benutzeranalytik mit materialisierten Ansichten für Echtzeit-Dashboards entwerfen und optimieren.
Analyst执行Kohortenanalysen
Retention-Analysen, Trichter-Konversionsverfolgung und Zeitreihenabfragen auf großen Datensätzen unter Verwendung von ClickHouse-spezifischen Aggregationsfunktionen ausführen.
Developer集成Echtzeit-Metriken
Streaming-Datenerfassung und automatisierte ETL-Pipelines implementieren, um Transaktionsdaten von PostgreSQL zu ClickHouse für analytische Workloads zu synchronisieren.
Essayez ces prompts
Helfen Sie mir, eine ClickHouse-Tabelle für tägliche Marktanalysedaten mit Spalten für Datum, market_id, Volume und Trade-Anzahl zu erstellen. Verwenden Sie die geeignete Engine und Partitionierungsstrategie für zeitbasierte Abfragen.
Meine ClickHouse-Abfrage, die nach market_name und Volume filtert, ist langsam bei einer Tabelle mit 100M Zeilen. Die Tabelle ist geordnet nach (date, market_id). Schlagen Sie Optimierungen vor und erklären Sie, wie Sie die Tabelle oder Abfrage für bessere Leistung umstrukturieren können.
Entwerfen Sie ein ClickHouse-Schema mit materialisierten Ansichten für ein Echtzeit-Handels-Dashboard mit stündlichem Volume, Trade-Anzahl und eindeutigen Händlern pro Markt. Beziehen Sie die Basistabelle, die materialisierte Ansichtsdefinition und Beispielabfragen für das Dashboard ein.
Erstellen Sie eine ClickHouse-Abfrage zur Berechnung von Benutzer-Retention-Kohorten nach Registrierungsmonat, mit aktiven Benutzern an Tag 0, Tag 1, Tag 7 und Tag 30 nach der Registrierung. Verwenden Sie eine Events-Tabelle mit user_id und timestamp-Spalten.
Bonnes pratiques
- Tabellen nach Zeit (Monat oder Tag) mit DATE- oder DateTime-Spalten partitionieren, um Zeitbereichsabfragen zu optimieren
- Schlüsselspalten nach am häufigsten gefilterten Spalten mit höchster Kardinalität zuerst sortieren, um die Indexnutzung zu maximieren
- Batch-Inserts anstelle einzelner Zeilen-Inserts verwenden, um die Erfassungsleistung erheblich zu verbessern
Éviter
- SELECT * anstelle von Spaltenangaben verwenden - erhöht unnötig I/O und Speichernutzung
- Kleine häufige Inserts anstelle von Batching durchführen - verursacht übermäßige Merge-Operationen und verschlechtert die Leistung
- Auf FINAL-Klausel in Abfragen vertrauen - erzwingt Daten-Merging vor der Abfrageausführung und verlangsamt Reads erheblich