-- ClickHouse 数据库初始化脚本 -- 适用服务:data-ana(数据分析) -- 表结构:student_dashboard_view(学生学情宽表)/ student_errors(错题本) -- 与 services/data-ana/src/data_ana/clickhouse_client.py 中的查询字段对齐 -- -- 使用方式(启用 ClickHouse 时执行一次): -- clickhouse-client --multiquery < scripts/clickhouse-init.sql -- 注意:ClickHouse 为可选依赖,未配置时 data-ana 服务进入降级模式。 -- 数据库 CREATE DATABASE IF NOT EXISTS edu_analytics; -- 学生学情宽表(考试/班级/知识点维度) CREATE TABLE IF NOT EXISTS edu_analytics.student_dashboard_view ( student_id String, class_id String, exam_id String, subject_id String, score Float64, rank_in_class UInt32, knowledge_point_id String, mastery_level Float32, error_count UInt32, last_updated DateTime ) ENGINE = MergeTree() ORDER BY (student_id, class_id, exam_id); -- 学生错题表(错题本) CREATE TABLE IF NOT EXISTS edu_analytics.student_errors ( student_id String, question_id String, knowledge_point_id String, error_count UInt32, last_error_time DateTime, content String ) ENGINE = MergeTree() ORDER BY (student_id, knowledge_point_id);