文档首页/ 数据湖探索 DLI/ 用户指南/ 创建数据库和表/ 了解数据目录、数据库和表
更新时间:2024-11-07 GMT+08:00

了解数据目录、数据库和表

数据库和表是SQL作业、Spark作业场景开发的基础,在执行作业前您需要根据业务场景定义数据库和表。

Flink支持动态数据类型,可以在运行时定义数据结构,不需要事先定义元数据。

数据目录

数据目录(Catalog)是元数据管理对象,它可以包含多个数据库。

在DLI数据目录库下创建数据库和表请参考在DLI控制台创建数据库和表

数据库

数据库是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。数据库通常用于存储、检索和管理结构化数据,由多个数据表组成,这些数据表通过键和索引相互关联。

表是数据库最重要的组成部分之一,它由行和列组成。每一行代表一个数据项,每一列代表数据的一个属性或特征。表用于组织和存储特定类型的数据,使得数据可以被有效地查询和分析。

数据库是一个框架,表是其实质内容。一个数据库包含一个或者多个表。

用户可通过管理控制台或SQL语句创建数据库和表,其中SQL语句的操作方法请参见创建数据库创建OBS表创建DLI表等。本章节介绍在管理控制台创建数据库和表的操作步骤。

创建数据库和表时,有权限控制,需要对其他用户授权,其他用户才可查看该用户新建的数据库和表。

表的元数据

元数据(Metadata)是用来定义数据类型的数据。主要是描述数据自身信息,包含源、大小、格式或其它数据特征。数据库字段中,元数据用于诠释数据仓库的内容。

创建表时,会定义元数据,由列名、类型、列描述三列组成。

DLI支持创建的表类型

  • DLI表

    DLI表是存储在DLI数据湖中的数据表。支持多种数据格式,可以存储结构化、半结构化和非结构化数据。

    DLI表的数据存储在DLI服务内部,查询性能更好,适用于对时延敏感类的业务,如交互类的查询等。

    库表管理中表的列表页面,表类型为Managed的即代表DLI表

  • OBS表

    OBS表的数据存储在OBS上,适用于对时延不敏感的业务,如历史数据统计分析等。

    OBS表通常以对象的形式存储数据,每个对象包含数据和相关的元数据。

    库表管理中表的列表页面,表类型为External,存储位置为OBS路径的即代表OBS表

  • 视图表

    视图表(View)是一种虚拟表,它不存储实际的数据,而是根据定义的查询逻辑动态生成数据。视图通常用于简化复杂的查询,或者为不同的用户或应用提供定制化的数据视图。

    视图表可以基于一个或多个表创建,提供了一种灵活的方式来展示数据,而不影响底层数据的存储和组织。

    库表管理中表的列表页面,表类型为View的即代表视图表

    View只能通过SQL语句进行创建,不能通过“创建表”页面进行创建。视图中包含的表或视图信息不可被更改,如有更改可能会造成查询失败。

  • 跨源表

    跨源表是指能够跨越多个数据源进行查询和分析的数据表。这种表可以整合来自不同数据源的数据,提供统一的数据视图。

    跨源表常用于数据仓库和数据湖架构中,允许用户执行跨多个数据源的复杂查询。

    库表管理中表的列表页面,表类型为External,存储位置非OBS路径的即代表跨源表

数据库和表的约束与限制

  • 数据库
    • “default”为内置数据库,不能创建名为“default”的数据库。
    • DLI支持创建的数据库的最大数量为50个。
  • 数据表
    • DLI支持创建的表的最大数量为5000个。
    • DLI支持创建表类型:
      • Managed:数据存储位置为DLI的表。
      • External:数据存储位置为OBS的表。
      • View:视图,视图只能通过SQL语句创建。
      • 跨源表:表类型同样为External。
    • 创建DLI表时不支持指定存储路径。
  • 数据导入
    • 仅支持将OBS上的数据导入DLI或OBS中。
    • 支持将OBS中CSV,Parquet,ORC,JSON和Avro格式的数据导入到在DLI中创建的表。
    • 将CSV格式数据导入分区表,需在数据源中将分区列放在最后一列。
    • 导入数据的编码格式仅支持UTF-8。
  • 数据导出
    • 只支持将DLI表(表类型为“Managed”)中的数据导出到OBS桶中,且导出的路径必须指定到文件夹级别。
    • 导出文件格式为json格式,且文本格式仅支持UTF-8。
    • 支持跨账号导出数据,即B账户对A账户授权后,A账户拥有B账户OBS桶的元数据信息和权限信息的读取权限,以及路径的读写权限,则A账户可将数据导出至B账户的OBS路径中。

表管理页面

在“数据管理”页面中,单击对应数据库名称或“操作”列中的“表管理”,可进入其表管理页面。

表管理页面显示用户在当前数据库中创建所有的表,您可以查看表类型,数据存储位置等信息。表列表默认按创建时间排列,创建时间最近的表显示在最前端。