面向数据仓库业务用户的HiveSQL标准化生成平台,用户通过自然语言描述数据处理需求,系统自动解析并生成符合企业规
范的标准化HiveSQL代码,支持在线验证与自动修复。
技术栈: FastAPI / Vue3 + Element Plus / SQLAlchemy (Async ORM) / Ollama (Qwen2.5-7B) / PyHive / Jinja2 / DockerCompose / Nginx
1. LLM多阶段推理编排 — 设计"自然语言解析→真实Schema二次修正→模板化SQL生成"三阶段流水线,LLM仅负责意图理解和参数提取,SQL生成由Jinja2模板引擎完成,兼顾灵活性与输出规范性,显著降低幻觉率。
2. SSE流式输出— 后端基于FastAPI StreamingResponse实现SSE逐token推送,前端通过Fetch +ReadableStream实时渲染。
3. HiveServer2双连接池 + Schema LRU缓存 —设计元数据查询池(30s超时)与SQL执行池(5min超时)分离的连接池架构,支持多数据源隔离;基于OrderedDict实现TTL=24h /maxSize=500的LRU缓存,避免重复查询Hive元数据。
4. SQL自动验证与错误分类重试 — 实现完整验证流水线:分区感知抽样建测试表→SQL替换执行→错误正则分类(语法/字段/类型/OOM等6类)→LLM自动修复重试→业务逻辑一致性校验→资源参数SET校验,不同错误类型配置不同重试上限。
5. AES-256-GCM + HKDF密钥派生加密 — 使用HKDF-SHA256从应用SECRET_KEY派生独立的AES加密密钥(不同info隔离JWT/AES用途),以AES-256-GCM加密存储用户Hive密码,nonce随机生成并前缀拼接。
6. 异步全栈与并发控制 — 后端全面async/await(SQLAlchemy async ORM + aiosqlite/asyncpg + httpx
AsyncClient),推理队列Semaphore(3) + 验证队列Semaphore(3)控制并发;应用生命周期管理优雅关闭(信号处理 + 请求追踪 +30s drain)。