数据处理工具
big-data-ai:用自然语言查询 Iceberg 数据湖的演示应用
prpatel/big-data-ai · Big Data and AI demo project for experimentation and rapid prototyping
ELI5:它是什么,解决什么问题
这是一个基于 Spring Boot 的实验性演示项目,结合 Apache Iceberg、Apache Spark 与 Spring AI,将用户的自然语言问题转换成 Spark SQL,并在 Iceberg 数据湖(以英国房产交易数据为例)上执行查询。项目包含 Hugging Face Spaces 的 Docker 单容器部署方式与本地 compose 多容器方式,并提供 Admin 页面用于下载 CSV 数据、加载到 Iceberg 表以及清理数据。项目明确标注不适用于生产环境,主要用于实验、快速原型与工作坊教学。
核心能力与快速开始
★ 3 · Java
- 能做什么
- 通过 OpenAI 兼容的聊天接口调用 LLM,把自然语言问题生成 Spark SQL;在 Iceberg 表上执行查询并展示结果;Admin 页面支持环境初始化、下载英国房价 CSV 数据、将数据加载进 Iceberg 表、清空数据;内置 Postgres、MinIO、LakeKeeper 的单容器运行模式,以及 compose 多容器模式(含可选 Trino)。
- 适用场景
- 用于演示和动手实验「自然语言 + 数据湖分析」链路;作为 Iceberg/Spark/Spring AI 技术栈的原型验证或工作坊教学代码库;在本地或 Hugging Face Spaces 上试验 LLM 生成 SQL 的可运行样例。
- 项目形态
- 可直接使用的工具
- 部署方式
- 提供 Docker 镜像的构建和运行方式;在 Hugging Face Spaces 上以单个 Docker 容器运行,将 Postgres、MinIO、LakeKeeper 打包在容器内;本地可用 compose.yaml 将各服务分容器运行。持久化数据挂在 DATA_ROOT(容器内 /data)。
- 主要依赖
- 需要 Docker;从源码运行还需要 Java 21 与 Maven。查询生成需要可用的 OpenAI 兼容端点与凭据(默认 Hugging Face Inference Providers,需要 HF_TOKEN),也可以指向本机模型。作者说明启动后若端点不可用,除生成查询外的功能仍可使用。
- 使用限制
- 作者明确标注 NOT FOR PRODUCTION USE,仅用于实验与原型;未说明认证、权限等生产级安全能力;由 LLM 生成的 SQL 准确性未说明;Hugging Face Spaces 的 /data 为对象存储,不支持 POSIX 语义,Postgres 集群会在每次启动时重建,并从 pg_dump 恢复;默认模型与 API 调用可能产生费用,具体成本未说明;Trino 不在镜像内。
- 许可证
- 未说明
- 最近推送
- 2026-09-10 02:05
资料检查:2026-10-28 07:00 · 卡片整理:2026-10-28 07:00
卡片由 AI 根据仓库资料整理,未进行安装或运行验证
职业应用
程序员
作为实验性演示项目,供程序员学习并原型验证 Spring AI 与 Apache Spark、Apache Iceberg 的集成:将自然语言问题转换为 Spark SQL 并在 Iceberg 数据湖上执行查询,同时提供 Admin 页面用于下载 CSV、加载到 Iceberg 表及清理数据。
查看内容依据
This project demonstrates an AI-powered analytics platform using Apache Iceberg, Apache Spark, and Spring AI. It allows users to query real estate data using natural language, leveraging an LLM to generate Spark SQL queries against an Iceberg data lake.
由 AI 根据来源材料整理,未进行安装或运行验证
讨论 0
登录后参与讨论,阅读资讯无需注册。
还没有评论,来分享第一个看法。