数据库和表说明
数据库是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。
表是数据库最重要的组成部分之一。表是由行与列组合成的。每一列被当作是一个字段。每个字段中的值代表一种类型的数据。
数据库是一个框架,表是其实质内容。一个数据库包含一个或者多个表。
DLI中数据库的概念、基本用法与Oracle数据库基本相同,是DLI管理权限的基础单元,赋权以数据库为单位。
用户可通过管理控制台或SQL语句创建数据库和表。本章节介绍在管理控制台创建数据库和表的操作步骤。
说明View只能通过SQL语句进行创建,不能通过“创建表”页面进行创建。
注意当OBS的目录下有同名文件夹和文件时,创建OBS表指向该路径会优先指向文件而非文件夹。
创建数据库
1.创建数据库的入口有两个,分别在“数据管理”和“SQL编辑器”页面。
- 在“数据管理”页面创建数据库。
a. 在管理控制台左侧,单击“数据管理”>“库表管理”。
b. 在库表管理页面右上角,单击“创建数据库”可创建数据库。
- 在“SQL编辑器”页面创建数据库。
a. 在管理控制台左侧,单击“SQL编辑器”。
b. 在左侧导航栏单击“数据库”页签右侧可创建数据库。
2.在“创建数据库”页面,参见下表输入数据库名称和描述信息。
详见下表:参数说明
参数名称 | 描述 | 示例 |
---|---|---|
数据库名称 | 数据库名称只能包含数字、英文字母和下划线,但不能是纯数字,且不能以下划线开头。 数据库名称大小写不敏感且不能为空。 输入长度不能超过128个字符。 说明 “default”为内置数据库,不能创建名为“default”的数据库。 |
DB01 |
描述 | 该数据库的描述。 | - |
3.单击“确定”,完成数据库创建。
数据库创建成功后,您可以在“库表管理”页面或者“SQL编辑器”页面查看和选择使用对应的数据库。
创建表
创建表前,请确保已创建数据库。
- 创建表的入口有两个,分别在“数据管理”和“SQL编辑器”页面。
说明此处创建表的方式不支持创建View,HBase(MRS)表、OpenTSDB(MRS)表、DWS表、RDS表和CSS表等跨源连接表。可通过SQL方式创建View和跨源连接表,具体请参考《数据湖探索SQL语法参考》中关于“创建视图”和“创建跨源连接表”的章节
- 在“数据管理”页面创建表。
a. 在管理控制台左侧,单击“数据管理”>“库表管理”。
b. 在库表管理页面中,选择需要建表的数据库。在其“操作”栏中,单击“更多”>“创建表”,可创建当前数据库下的表。
- 在“SQL编辑器”页面创建表。
a. 在管理控制台左侧,单击“SQL编辑器”。
b. 在“SQL编辑器”页面的左侧导航栏单击“数据库”页签。有两种方式创建表。
- 鼠标左键单击数据库名,进入“表”区域,单击右侧,创建当前数据库下的表。
- 鼠标左键单击对应数据库右侧的,在列表菜单中选择“创建表”,创建当前数据库下的表。
- 在“创建表”页面,填写参数。
- 当数据位置为DLI时,请参见下表填写相关参数;
- 当数据位置为OBS时,请参见下表填写相关参数。
详见下表:通用参数说明
参数名称 | 描述 | 示例 |
---|---|---|
表名称 | 表名称只能包含数字、英文字母和下划线,但不能是纯数字,且不能以下划线开头。 表名称大小写不敏感且不能为空。 表名称支持包含“**”符号。例如:**test。 输入长度不能超过128个字符。 |
table01 |
数据位置 | 数据存储位置,当前支持DLI和OBS。 | OBS |
描述 | 该表的描述。 | - |
列类型 | 选择为“普通列”或“分区列”。 | 普通列 |
列名称 | 表的列名。列名应至少包含一个字母,并允许下划线(_),但不支持纯数字。 可选择“普通列”或“分区列”。“分区列”是分区表专用的,对用户数据进行分区,可提高查询效率。 说明 列名不区分大小写,不能相同。 |
name |
数据类型 | 与“列名”对应,表示该列的数据类型。 字符串(string):字符串类型。 有符号整数(int):存储空间为4字节。 日期类型(date):所表示日期的范围为0000-01-01 to 9999-12-31。 双精度浮点型(double):存储空间为8字节。 l 布尔类型(boolean):存储空间为1字节。 固定有效位数和小数位数的数据类型(decimal):有效位数为1~38之间的正整数,包含1和38;小数位数为小于10的整数。 有符号整数(smallint/short):存储空间为2字节。 有符号整数(bigint/long):存储空间为8字节。 时间戳(timestamp):表示日期和时间,可达到小数点后6位。 单精度浮点型(float):存储空间为4字节。 有符号整数(tinyint):存储空间为1字节。仅OBS表支持。 |
string |
列描述 | 该列的描述。 | - |
操作 | 增加列 删除列 说明 当列数较多时,建议您使用SQL语句创建表,或直接从本地Excel导入列信息。 |
- |
详见下表: 数据位置为OBS的参数说明
参数名称 | 描述 | 示例 |
---|---|---|
数据格式 | 支持以下数据格式。 Parquet:DLI支持读取不压缩、snappy压缩、gzip压缩的parquet数据。 CSV:DLI支持读取不压缩、gzip压缩的csv数据。 ORC:DLI支持读取不压缩、snappy压缩的orc数据。 JSON:DLI支持读取不压缩、gzip压缩的json数据。 Carbon:DLI支持读取不压缩的carbon数据。 Avro:DLI支持读取不压缩的avro数据。 |
CSV |
存储路径 | 输入或选择OBS路径。路径可以是文件夹,也可以是路径。 说明 如果需要将OBS上的数据导入OBS表,则建表路径必须是文件夹。 建表路径是文件时,会导致数据导入失败。 |
obs://obs1/sampledata.csv |
表头:无/有 | 当“数据格式”为“CSV”时,该参数有效。设置导入数据源是否含表头。 选中“高级选项”,勾选“表头:无”前的方框,“表头:无”显示为“表头:有”,表示有表头;去勾选即为“表头:无”,表示无表头。 | - |
自定义分隔符 | 当“数据格式”为“CSV”,并在自定义分隔符前的方框打勾时,该参数有效。 选中高级选项,支持选择如下分隔符。 逗号(,) 竖线() 制表符(\t) 其他:输入自定义分隔符 |
) l 制表符(\t) l 其他:输入自定义分隔符 |
自定义引用字符 | 当“数据格式”为“CSV”,并在自定义引用字符前的方框打勾时,该参数有效。 选中高级选项,支持选择如下引用字符。 单引号(') 双引号(") l 其他:输入自定义引用字符 |
单引号(') |
自定义转义字符 | 当“数据格式”为“CSV”,并在自定义转义字符前的方框打勾时,该参数有效。 选中高级选项,支持选择如下转义字符。 反斜杠() 其他:输入自定义转义字符 |
反斜杠() |
日期格式 | 当“数据格式”为“CSV”和“JSON”时此参数有效。 选中“高级选项”,该参数表示表中日期的格式,默认格式为“yyyy-MM-dd”。 |
2000-01-01 |
时间戳格式 | 当“数据格式”为“CSV”和“JSON”时此参数有效。 选中“高级选项”,该参数表示表中时间戳的格式,默认格式为“yyyy-MM-dd HH:mm:ss”。 |
2000-01-01 09:00:00 |
3.单击“确定”,完成表创建。
表创建成功后,您可以在“表管理”页面或者“SQL编辑器”页面查看和选择使用对应的表。
4.(可选)DLI表创建完成后,您可以选择是否直接向该表导入数据。