nessie 是一个强大的支持类似git 分之特性的apache iceberg 智能元数据存储, 主要测试下基于nessie dremio 元数据存储(catalog)
集成参考架构
环境准备
- docker-compose 文件
version: "3"
services:
minio:
image: minio/minio
ports:
- "9000:9000"
- "19001:19001"
environment:
MINIO_ACCESS_KEY: minio
MINIO_SECRET_KEY: minio123
command: server --console-address :19001 --quiet /data
dremio:
image: dremio/dremio-oss:24.3.0
ports:
- "9047:9047"
- "31010:31010"
nessie:
image: projectnessie/nessie:0.75.0-java
ports:
- "19120:19120"
- "19121:19121"
services:
简单说明,minio 主要是存储元数据的,nessie 就是测试的支持类似git的元数据存储服务
配置
- 启动服务
docker-compose up -d
- 配置
因为是使用了类s3的,需要配置一些兼容属性
nessie 基本配置(没有使用认证)
存储配置(s3 信息)
效果
使用
可以配置一个s3 的数据源,然后将数据表,保存到nessie catalog 中,同时还可以创建不同的分支包含不同的提交信息,以及撤销
合并
- 保存效果
- 创建新分支
- 查询数据
说明
以上是一些简单的操作,只是说明下使用,实际功能还是很强大的,可以实现类似git 的元数据版本管理,对于进行数据etl 处理还是很方便的
官方也提供了比较完整的说明,值得学习下
参考资料
https://docs.dremio.com/current/sonar/query-manage/managing-data/nessie/
https://hub.docker.com/u/projectnessie
https://docs.dremio.com/current/sonar/data-sources/nessie-catalogs/
https://projectnessie.org/