数据湖探索 DLI-Spark2.4.x与Spark3.3.x版本在SQL队列的差异对比:返回信息明确告知不支持指定表外部属性

时间:2024-12-28 16:25:09

返回信息明确告知不支持指定表外部属性

  • 说明:

    表外部属性`external`变为保留。如果指定外部属性,某些命令将执行失败。

    • Spark2.4.x:通过 `CREATE TABLE ... TBLPROPERTIES`和`ALTER TABLE ... SET TBLPROPERTIES`指定external属性,命令执行成功,但实际上external属性被静默忽略,表依然是managed table。
    • Spark3.3.x:

      通过 `CREATE TABLE ... TBLPROPERTIES`和`ALTER TABLE ... SET TBLPROPERTIES`指定external属性,命令将会失败。

      如需在Spark3.3.x版本中恢复Spark2.4.x的使用方式,可以通过设置spark.sql.legacy.notReserveProperties为 true来实现。

  • 升级引擎版本后是否对作业有影响:

    有影响,涉及相关用法需要适配。

  • 示例代码

    执行sql:

    CREATE TABLE test_external(id INT,name STRING) TBLPROPERTIES('external'=true);
    • Spark2.4.5

      执行成功。

    • Spark3.3.1
       DLI .0005: The feature is not supported: external is a reserved table property, please use CREATE EXTERNAL TABLE.
support.huaweicloud.com/bulletin-dli/dli_bulletin_0015.html