更新时间:2025-12-10 GMT+08:00
分享

查询和写入Iceberg表

查询Iceberg

可以查询Iceberg表中的数据。具体语法可参考SELECT

注意事项

当前仅支持查询最新全量数据。

示例

1
SELECT * FROM iceberg_ext order by col1;

写入Iceberg表

可以向Iceberg表中添加一行或多行数据。具体语法可参考INSERT

注意事项

  • 如果频繁插入小数据,可能会出现小文件问题,建议定期重写data/manifest文件以保障存储、查询效率。
  • 当前仅支持数据文件以Parquet格式写入。

示例

1
2
3
INSERT INTO iceberg_ext VALUES (1, 'a', 1.1234567, 100.11, '2025-03-03', '2025-03-03 16:00:00');
INSERT OVERWRITE INTO iceberg_ext VALUES (1, 'b', 1.1234567, 100.11, '2025-03-03', '2025-03-03 16:00:00');
INSERT INTO iceberg_ext (col1, col2, col3, col4, col5, col6) SELECT col1, col2, col3, col4, col5, col6 FROM iceberg_table WHERE col1 > 18;

删除Iceberg表数据

可以对Iceberg表中的一行或多行数据执行删除操作。具体语法可参考DELETE

注意事项

  • 当前仅支持merge-on-read方式的delete操作。
  • 如果有并发删除、更新时,delete时建议指定分区条件以减少并发冲突。
  • 如果对分区表做整分区删除时,delete会通过标记元数据状态来加速删除操作,是否可以走优化可以通过explain delete查看关键字“Do speed up for delete”,如果可以走删除优化,删除返回的行数可能大于实际删除的行数。

示例

1
DELETE FROM iceberg_ext where a = 1;

更新Iceberg表数据

可以对Iceberg表中的一行或多行数据执行更新操作。具体语法可参考UPDATE

注意事项

  • 当前仅支持merge-on-read方式的delete操作。
  • 如果有并发删除、更新时,update时建议指定分区条件以减少并发冲突。

示例

1
UPDATE iceberg_ext set b = 1 where a = 1;

相关文档