dremio nessie 元数据sql查询简单说明

发布时间 2024-01-09 16:45:53作者: 荣锋亮

以前我简单介绍过关于dremio 与nessie 集成的,基本可以分为两大类,一类是完全使用nessie 做为元数据以及iceberg 的操作,还有就是nessie 做为其他外部工具的元数据存储,同时dremio 专门也开发了相关的sql 操作,这样并不需要使用ui 进行操作

nessie元数据操作相关

主要是对于branch,tag,logs,folder, 等操作,包含了创建修改,删除,合并(分支类的)

  • 一些简单sql
创建分支
CREATE BRANCH myBranch
 IN myCatalog;
创建tag
CREATE TAG myTag
分支合并
MERGE BRANCH myBranch
  INTO main
  IN mySource
删除分支
DROP BRANCH myBranch
  FORCE
查看日志
SHOW LOGS
  AT BRANCH myBranch

元数据相关修改的数据查询

实际上这个select 查询官方文档也有写,只是比较简单,对于nessie 操作部分比较清晰,但是对于sql 部分更多是关于iceberg 的格式的
实际上核心是AT 部分的,官方文档参考格式

 
[ AT {
      SNAPSHOT '<snapshot_id>'
      | <timestamp>
      }
    ]

对于branch,tag,commit 格式的,也是支持的,参考如下

select * from nessie.demo AT BRANCH "main"
select * from nessie.demo AT TAG "0.0.1"
select * from nessie.demo ATCOMMIT  "0.0.1"
select * from nessie.demo AT COMMIT "a27940cda26712fabcfcf31f4db595e2c5381b549a49675709641a7724503df3"

说明

使用dremio + nessie 的数据管理(包含了建模,ETL是一个很不错的选择,对于详细使用,以下参考资料应该看看

参考资料

https://docs.dremio.com/current/reference/sql/commands/nessie/create-branch/
https://docs.dremio.com/current/reference/sql/commands/SELECT-statements