内部表是一个数据存储在数据库内部的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命令,蕴含创立、批改和删除内部表: