数据湖探索 DLI-使用DataSource语法创建OBS表:示例5:创建OBS分区表,自定义表的OPTIONS参数

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

示例5:创建OBS分区表,自定义表的OPTIONS参数

示例说明:创建OBS表时支持自定义属性名与属性值,OPTIONS参数说明可参考表2

本例创建名为table3并以col_2为分区依据的OBS分区表。在OPTIONS中配置path、multiLevelDirEnable、dataDelegated和compression。

  • path:OBS存储路径,本例为“obs ://bucketName/filePath”,其中的bucketName为您存储时所使用桶名称,filePath为您实际使用的目录名称;
  • 请注意大数据场景建议使用OBS并行文件系统进行存储;
  • multiLevelDirEnable:本例设置为true,表示查询该表时会迭代读取表路径中的所有文件和子目录文件,若不需要此项配置可以设置为false或不设置(默认为false);
  • dataDelegated:本例设置为true,表示在删除表或相关分区时,会一并清除改path路径下的所有数据,若不需要此项配置可以设置为false或不设置(默认为false);
  • compression:当创建的OBS表需要压缩时,可以使用compression关键字来配置压缩格式,本例中就使用了zstd压缩格式。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
CREATE TABLE IF NOT EXISTS table3 (
    col_1   STRING,
    col_2   int
)
USING parquet
PARTITIONED BY (col_2)
OPTIONS (
    path 'obs://bucketName/filePath',
    multiLeveldirenable = true,
    datadelegated = true,
    compression = 'zstd'
);
support.huaweicloud.com/sqlref-spark-dli/dli_08_0076.html