0
点赞
收藏
分享

微信扫一扫

dremio CTAS 与数据DML 操作

pipu 03-05 09:45 阅读 4

dremio对于文件系统支持CTAS (s3,nas,hdfs。。。),以前版本默认创建是是parquet 格式的文件,新版本默认使用iceberg 格式
基于iceberg 的格式很有意思,我们不只可以进行数据的显式物化,同时还可以进行数据的多DML,同时还能复用iceberg 强大的数据管理
能力

参考使用

主要演示下使用命令

  • 参考命令

create table s3.demoapp.demotable as select * from pg.demoapp

  • dml 操作

// insert 
insert into s3.demoapp.demotable(name,age) values('demo',11);
// delete 
delete from s3v2.dbt.dalongdemov2 where name='dalongv1'

问题

  • is not configured to support DML operations

CTAS 创建的表不是iceberg 格式的,应该是早期的parquet 的,可以通过执行CTAS 重新转换,同时注意配置文件存储CTAS 的格式为iceberg

说明

以上支持说了对于DML的操作,实际上也是支持DDL 操作的,比如添加以及修改列,当然还有其他关于iceberg 的一些操作(历史快照,属性信息。。),基于iceberg 的CTAS 操作一种比较有用的事情就是进行快照物化,然后基于原始数据的变动进行增量的更新处理,同时结合iceberg
强大的多数据管理能力解决历史数据查询问题

参考资料

sabot/kernel/src/main/java/com/dremio/exec/store/iceberg/IcebergUtils.java
sabot/kernel/src/main/java/com/dremio/exec/planner/sql/handlers/commands/CommandCreator.java
https://docs.dremio.com/current/sonar/data-sources/object/s3/#advanced-options
https://docs.dremio.com/current/reference/sql/commands/tables
https://docs.dremio.com/current/reference/sql/commands/apache-iceberg-tables/apache-iceberg-create
https://docs.dremio.com/current/reference/sql/commands/apache-iceberg-tables/apache-iceberg-insert

举报

相关推荐

0 条评论