DLI Delta表概述
Delta表是一种基于Delta Lake技术实现的数据存储解决方案,它使用基于文件的事务日志扩展了 Parquet 数据文件,可以处理 ACID 事务和可缩放的元数据。 Delta Lake与Apache Spark API完全兼容,并且其设计能够与结构化流式处理紧密集成,可以轻松地将单个数据副本用于批处理和流式处理操作,并提供大规模增量处理。
DLI中Delta的使用限制
- 仅Spark 3.3.1(3.0.0)及以上版本支持Delta。
- DLI支持的Delta版本是Delta 2.3.0。
- Spark 3.3.1(3.0.0)版本的SQL仍有部分不支持Delta表的相关开源语法,具体内容请参考表1。
表1 Spark 3.3.1-3.0.0版本SQL不支持的Delta表相关开源语法 不支持的语法
示例
ALTER TABLE REPLACE COLUMNS替换列
alter table table0 replace columns(id1 int,name1 string);
SHOW CREATE TABLE显示建表语句
show create table table1;
INSERT INTO/OVERWRITE指定静态分区插入表
insert into table1 partition(part='part1') select * from table2;
ALTER TABLE ADD/DROP PARTITION管理分区
alter table test_delta_parts1 add partition('2024-10-28');
CONVERT TO DELTA语法暂不支持parquet.`tablePath`格式的表
convert to delta parquet.`obs://bucket0/db0/table0`;