# 创建数据集
#### 语法格式
```
CREATE [EXTERNAL] DATASET [IF NOT EXISTS] dataset_name 
[LOCATION location_path ]
[COMMENT comment ]
[SET (FORMAT <format> | FORMAT <format> CONTENT_TYPE (<content_type>*))]
```
- **EXTERNAL**：创建外部Dataset。外部Dataset必须注册到外部位置内的目录。未指定EXTERNAL时，Dataset类型为MANAGED。
- **IF NOT EXISTS**：如果指定此项，当Dataset已存在时不会抛出错误。
- **dataset_name**：要创建的Dataset名称。Dataset只能在LF Schema中创建。Dataset不应与同一Database中的其他表/Dataset存在命名冲突，否则创建将失败。
- **LOCATION location_path**：location_path是一个字符串字面量，定义了创建指定外部Dataset的文件系统路径。如果底层文件系统中不存在指定路径，将创建该路径的目录。创建外部Dataset时必须指定Location。Managed Dataset不支持location_path。Managed Dataset的位置是自动生成的。
- **comment**：Dataset的可选描述。
- **format**：数据格式枚举：ROW/TEXT/IMAGE/AUDIO/VIDEO/CUSTOM。
- **content_type** ：当格式为ROW时，content_type的可选值包括：CSV - 逗号分隔值文件，JSONL - JSON对象行文件，AVRO - AVRO行式文件。
  - 对于图像文件格式，当格式为IMAGE时设置。content_type的可选值包括：JPG - JPG图像，PNG - PNG图像，TIFF - TIFF图像。
  
  - content_type没有限制，允许使用任何字符串作为内容。format和content_type在这里类似于注释，帮助用户在列出Dataset时进行过滤。
   
#### 代码示例
```
CREATE EXTERNAL DATASET my_catalog.my_schema.my_external_dataset LOCATION 'obs://my-bucket/my-location/my-path' COMMENT 'This is my example external dataset on OBS'
```
```
CREATE EXTERNAL DATASET my_catalog.my_schema.my_external_dataset LOCATION 'obs://my-bucket/my-location/my-path' COMMENT 'This is my example external dataset on OBS' SET FORMAT IMAGE CONTENT_TYPE ("JPG", "PNG")
```
