数据湖探索 DLI-使用DataSource语法创建OBS表:注意事项

时间:2024-11-11 14:10:59

注意事项

  • 创建表时不会统计大小。
  • 添加数据时会修改大小至0。
  • 如需查看表大小可以通过OBS查看。
  • CTAS建表语句不能指定表的属性。
  • OBS目录下包含子目录的场景:

    创建表时,若指定路径为OBS上的目录,且该目录下包含子目录(或嵌套子目录),则子目录下的所有文件类型及其内容也是表内容。

    您需要保证所指定的目录及其子目录下所有文件类型和建表语句中指定的存储格式一致,所有文件内容和表中的字段一致,否则查询将报错。

    您可以在建表语句OPTIONS中设置“multiLevelDirEnable”为true以查询子目录下的内容,此参数默认值为false(注意,此配置项为表属性,请谨慎配置。Hive表不支持此配置项)。

  • 关于分区表的使用说明:
    • 创建分区表时,PARTITIONED BY中指定分区列必须是表中的列,且必须在Column列表中指定类型。分区列只支持string, boolean, tinyint, smallint, short, int, bigint, long, decimal, float, double, date, timestamp类型。
    • 创建分区表时,分区字段必须是表字段的最后一个字段或几个字段,且多分区字段的顺序也必须对应。否则将出错。
    • 单表分区数最多允许200000个。
    • 2024年1月后新注册使用 DLI 服务的用户,且使用Spark3.3及以上版本的引擎,在使用DataSource语法创建表时支持使用CTAS创建分区表。
support.huaweicloud.com/sqlref-spark-dli/dli_08_0076.html