共计 1403 个字符,预计需要花费 4 分钟才能阅读完成。
内部表是一个数据存储在数据库内部的 OushuDB 数据库表,容许 OushuDB 对存储在数据库之外的数据源中的数据进行拜访,就像数据存储在惯例数据库表中一样。内部表分可读和可写,数据能够从内部表读取或写入。它和惯例数据库表的用法一样,能够执行 INSERT、SELECT、JOIN 等操作。内部表通常用于疾速并行加载和卸载数据库数据。
内部 web 表容许 OushuDB 数据库解决动静数据源,它能够在查问运行时进行更改,因而数据不可从新记录。且内部 web 表提供对 HTTP 服务器或操作系统过程提供的数据的拜访。
接下来将通过以下目录章节具体介绍内部表:
内部表定义
创立可读内部表或创立可读内部 WEB 表是在 OushuDB 中创立一个新的可读内部表定义。可读内部表通常用于疾速并行数据加载。一旦定义了内部表,就能够应用 SQL 命令间接(并行)查问其数据。例如,能够对外部表数据进行查问、关联或排序。也能够为内部表创立视图。不容许对可读内部表执行 DML 操作(UPDATE、INSERT、DELETE 或 TRUNCATE)。
创立可写内部表或创立可写内部 WEB 表是在 OushuDB 中创立一个新的可写内部表定义。可写内部表通常用于将数据从数据库卸载到一组文件或命名管道中。可写内部 web 表也可用于将数据输入到可执行程序。一旦定义了可写内部表,就能够从数据库表中抉择数据并将其插入可写内部表中。可写内部表容许 INSERT–不容许 SELECT、UPDATE、DELETE。目前只有 hdfs 协定和 hive 协定反对 TRUNCATE。
在 OushuDB 中,Web 内部表可通过两种形式拜访动静数据源:能够在 Web 服务器上通过 http://protocol 拜访文件表,也能够通过执行操作系统命令或脚本拜访数据表。
定义内部表时,需应用 location 子句指定内部数据的地位, 应用 format 子句指定内部表文件格式。
LOCATION 子句指定内部数据的地位。location 字符串以协定字符串结尾,该字符串指定用于拜访数据的存储类型和协定。你能够应用以下协定拜访内部表数据源,但不能在一个 CREATEA EXTERNAL TABLE 命令中混合应用多个协定。
● gpfdist://protocol 指定由一个或多个 OushuDB 文件服务器 gpfdist 实例提供服务的数据文件。
●「http:/」- http://www.oushu.com/ /protocol 指定一个或多个 http url,并与 web 表一起应用。
● hdfs://protocol 指定由 hadoop hdfs 文件系统提供服务的数据文件。
● hive://protocol 指定由 Hive 数据库提供服务的数据文件。
Note:
不举荐应用 file://。相同,请应用 gpfdist://、gpfdists://、hive://、hdfs:// 或 COPY 命令。
FORMAT 子句指定如何格式化内部数据,对于 gpfdist 协定,无效的立体文件格式 (包含 HDFS 中的文件) 是分隔文本 (TEXT) 格局和逗号分隔值 (CSV) 格局。版本 3.0 减少了对 hdfs 协定中 orc 格局的反对。如果文件中的数据不应用默认列分隔符、本义符、空字符串等,则必须指定其余格局选项,以便 OushuDB 正确读取内部文件中的数据。
Note
OushuDB 目前只有 hdfs 协定和 hive 协定反对 ORC 格局。
以下内容是内部表定义的 SQL 命令,蕴含创立、批改和删除内部表: