有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
用户可以使用数据湖计算 DLC 控制台或者 API,执行 DDL 语句创建数据库。

创建数据表

途径一:在数据探索进行创建

1. 登录 数据湖计算 DLC 控制台,选择服务所在区域,登录用户需要有创建数据表的权限。
2. 进入 数据探索 模块,在左侧列表中,单击已有数据库,鼠标悬停表行,然后单击
img

图标,单击 创建原生表 或者 创建外部表。
说明:
原生表是指DLC托管存储上的表,原生表您无需关注底层Iceberg存储格式,且具备数据优化等能力。使用原生表需要先开启托管存储,详情参考托管存储配置
外部表的底层数据在您自己的 对象存储 上,创建外部表需要指定数据路径。



3. 单击 创建原生表/创建外部表 后,系统会自动在生成创建数据表的 SQL 模板,用户可以修改 SQL 模板创建数据表。单击 运行 后,执行创建数据表的 SQL 语句,完成创建。




途径二:在数据管理进行创建

数据管理模块支持管理托管存储于 DLC 的原生表及外部表。
1. 登录 数据湖计算 DLC 控制台,选择服务所在区域,登录用户需要有创建数据表的权限。
2. 通过左侧菜单进入数据管理,进入数据库,单击数据表所在的数据库名称,进入数据库管理页面。


3. 单击创建原生表创建外部表按钮,进入数据表配置页面。

原生表数据来源支持空表、本地上传、对象存储 COS 三种不同类型,选择不同数据来源对应不同的创建流程。原生表支持数据优化等能力,可以选择继承库治理规则或单独启闭。
3.1 创建空表:创建一个没有记录的空表。
数据表名称:非数字开头,支持大小写字母、数字及下划线—,最多128个字符。
支持填写数据表描述信息。
可手动添加和输入列名称和字段类型。支持 array/map/struct 三种复杂类型字段的配置。



3.2 本地上传:将本地表单文件上传至 DLC 形成数据表,支持100MB 以内的文件。
CSV:支持可视化配置解析 CSV 规则,包括压缩格式、列分割符号、字段域符。支持自动推断数据文件的 Schema 和将首行解析为列名。
Json:DLC 仅将 Json 的第一层级识别为列,支持自动推断 Json 文件的 Shema,系统会将 Json 第一层字段识别为列名。
支持 Parquet、ORC、AVRO 等常见大数据格式数据文件。
可手动添加和输入列名称和字段类型。
若选择了自动推断结构,DLC 会自动填充识别到的列、列名称、字段类型,若不正确请手动修改。



3.3 通过对象存储 COS 创建数据表。
通过读取当前账户下的COS数据桶进行数据表创建。
CSV:支持可视化配置解析 CSV 规则,包括压缩格式、列分割符号、字段域符。支持自动推断数据文件的 Schema 和将首行解析为列名。
Json:DLC 仅将 Json 的第一层级识别为列,支持自动推断 Json 文件的 Shema,系统会将 Json 第一层字段识别为列名。
支持 Parquet、ORC、AVRO 等常见大数据格式数据文件。
可手动添加和输入列名称和字段类型。
若选择了自动推断结构,DLC 会自动填充识别到的列、列名称、字段类型,若不正确请手动修改。



4. 数据分区通常为提高查询性能,会对大数据量的表进行分区。DLC 支持按照数据分区查询数据,用户需要在此步骤添加分区信息。通过分区您的数据,您可以限制每个查询扫描的数据量,从而提高查询性能并降低使用成本。DLC 遵从 Apache Hive 的分区规则。
分区列对应表的 COS 路径下的一个子目录,目录的命名规则为分区列名=分区列值。 示例:
cosn://nanjin-bucket/CSV/year=2021/month=10/day=10/demo1.csv
cosn://nanjin-bucket/CSV/year=2021/month=10/day=11/demo2.csv
如果有多个分区列,则需要按照建表语句中指定的分区列顺序依次嵌套。
CREATE EXTERNAL TABLE IF NOT EXISTS `COSDataCatalog`.`dlc_demo`.`table_demo` (
`_c0` string,
`_c1` string,
`_c2` string,
`_c3` string
) PARTITIONED BY (`year` string, `month` string, `day` string)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES ('separatorChar' = ',', 'quoteChar' = '"')
STORED AS TEXTFILE
LOCATION 'cosn://bucket_name/folder_name/';

查询数据表基本信息

途径一:在数据探索中进行查询

在数据表项目中,鼠标悬停数据表名称行,然后单击
img

图标,在下拉菜单中单击基本信息,可以查看创建的数据表基本信息。



数据表基本信息如下:



途径二:在数据管理进行查看

1. 登录数据湖计算 DLC 控制台,选择服务所在区域,登录用户需要有查看数据表的权限。
2. 通过左侧菜单进入数据管理页面,单击数据表所在的数据库名称,进入数据库管理页面,支持查询数据表的行数、存储空间、创建人、字段、分区等信息。





预览数据表数据

在数据表项目中,鼠标悬停数据表名称行,然后单击
img

图标,在下拉菜单中单击预览数据,DLC 会自动生成预览10条数据的 SQL 语句,执行 SQL 语句查询数据表前10条数据。

支持在数据管理 > 数据库 > 数据表 > 数据表列表中预览数据。

数据预览功能默认展示前100条数据。



编辑数据表信息

支持在数据管理模块编辑数据表的描述信息。
1. 登录 数据湖计算 DLC 控制台,选择服务所在区域,登录用户需要有编辑数据表的权限。
2. 通过左侧菜单进入数据管理 > 数据库页面,单击数据表所在的数据库名称,进入数据库管理页面。
3. 找到需要编辑的数据,单击右侧的编辑按钮进行编辑。


4. 修改后单击确定按钮即可完成编辑。



导入数据

支持对托管于DLC的数据表进行数据导入。
1. 登录 数据湖计算 DLC 控制台,选择服务所在区域,登录用户需要有编辑数据表的权限。
2. 通过左侧菜单进入数据管理页面,单击数据表所在的数据库名称,进入数据库管理页面。
3. 找到需要编辑的数据,单击右侧的导入数据按钮进行数据导入。支持本地上传及 COS 存储两种模式进行数据导入。
导入数据要求及规则与创建数据库一致。


4. 选择完成后,单击确认按钮进行数据导入。



导出数据

支持对托管于 DLC 的数据表进行导出。
1. 登录  数据湖计算 DLC 控制台,选择服务所在区域,登录用户需要有编辑数据表的权限。
2. 通过左侧菜单进入数据管理页面,单击数据表所在的数据库名称,进入数据库管理页面。
3. 找到需要编辑的数据,单击右侧的导出数据按钮进行数据导出。支持选择数据格式并选择压缩格式。
4. 选择完成后,单击确认按钮进行数据导出。



删除数据表

途径一:在数据探索进行删除

在数据表项目中,鼠标悬停数据表名称行,然后单击
img

图标,在下拉菜单中单击删除表,DLC 会自动生成删除数据表的 SQL 语句,执行 SQL 语句删除数据表。
删除外表,删除数据表仅是删除 DLC 中存储的元数据信息,不会影响数据源文件。
删除DataLakerCatalog目录下的数据表,将会清空所有该数据表数据,请谨慎操作。



途径二:在数据管理进行删除

目前数据管理内仅支持管理托管存储于DLC的数据库表,外表请使用途径一进行删除。
1. 登录数据湖计算 DLC 控制台,选择服务所在区域,登录用户需要有删除数据表的权限。
2. 通过左侧菜单进入数据管理 > 数据库,单击数据表所在的数据库名称,进入数据库管理页面。
3. 单击需要删除的数据表后的删除按钮,二次确认后可删除对应的数据表,同时清空数据表数据。



展示建表语句

在数据表项目中,鼠标悬停数据表名称行,然后单击
img

图标,在下拉菜单中单击展示建表语句,DLC 会自动生成查看该数据表的建表语句,执行 SQL 语句查询建表语句。


系统约束
DLC 允许每个数据库下的数据表最大数量为4096个,每个数据表支持的最大分区数为100,000,每个数据表的属性列最大数量为4096个。
DLC 会把相同 COS 路径下的数据文件识别为同一张表的数据,请确保在单独的文件夹层次结构中保留单独表的数据。
DLC 不支持 COS 多版本数据,只能查询 COS 存储桶中最新版本的数据。
DLC 上创建的所有表是外表,在创建表的 SQL 语句中必须包含 EXTERNAL 关键字。
表名称在同一个数据库下必须唯一。
表名称不区分大小写,仅支持英文字符、数字和下划线(_),最长为128个字符。
若表为分区表时,需要手动执行 ADD PARTITION 语句或者 MSCK 语句,添加分区信息,才能查询到该分区数据。详情可参见 查询分区表
使用 CSV 建表时,DLC 会默认把所有字段类型转化为 string,但是不影响原数据字段的计算和查询。