dremio 对于iceberg 的操作支持
从dremio 22 开始iceberg 已经成为了dremio 标配的ctas 操作了,而且同时也支持直接创建iceberg 表了,此功能整个是很强大
支持的操作
- create
支持ctas 以及普通的create 操作
ctas
create table mys3.demoapp.dalongtest as select * from pg.public.demoapp
创建普通表(还支持强大的分区操作)
create table mys3.demoapp.dalongtest (col1 int, col2 date) partition by (month(col2))
- insert 操作
insert select
insert into mys3.demoapp.dalongtest3 select * from pg.public.dalongdemo
批量操作
insert into mys3.demoapp.dalongtest3 values (3,'dalong'),(4,'ddddd')
- update 操作
update mys3.demoapp.dalongtest3 set id = id + 100 where name='dalong'
- delete
delete from mys3.demoapp.dalongtest3 where id=103
- alter
注意是COLUMNS,否则会有问题,当然操作不少,支持修改,添加,删除列。。。
alter table mys3.demoapp.dalongtest3 add COLUMNS (address VARCHAR)
- merge
MERGE INTO mys3.demoapp.dalongtest3 demoapp
USING pg.public.dalongdemo demoapp2
ON (demoapp.id = demoapp2.id)
WHEN MATCHED THEN
UPDATE SET address='demoapp'
- truncate
TRUNCATE mys3.demoapp.dalongtest3
- drop
DROP TABLE mys3.demoapp.dalongtest3
- select
select 功能比较强大,支持普通的查询同时,还支持获取元数据信息
文件信息获取
获取历史元数据
查询表元数据信息
快照元数据
获取特定快照的数据
说明
dremio 22 对于iceberg 的支持是很到位的,而且是很强大的,基于此功能我们可以开发不少有意思的功能
参考资料
https://docs.dremio.com/software/sql-reference/sql-commands/apache-iceberg-tables/