OushuDB 创建和管理外部表(上)

简介: 外部表是一个数据存储在数据库外部的OushuDB数据库表,允许OushuDB对存储在数据库之外的数据源中的数据进行访问,就像数据存储在常规数据库表中一样。外部表分可读和可写,数据可以从外部表读取或写入。它和常规数据库表的用法一样, 可以执行INSERT、SELECT、JOIN等操作。外部表通常用于快速并行加载和卸载数据库数据。

image.png
外部表是一个数据存储在数据库外部的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命令,包含创建、修改和删除外部表:

目录
相关文章
|
8月前
|
Java 程序员 开发者
课时10:标识符与关键字
在Java中,标识符用于命名类、方法、变量等结构,必须由字母、数字、下划线(_)和美元符号($)组成,且不能以数字开头或使用关键字。标识符应有意义,通常以字母开头,如Student_Name或StudentName。关键字是具有特殊含义的词汇,如public、class等,不能用作标识符。开发者无需背诵所有关键字,现代代码编辑工具会自动标注并提示。
104 0
|
Docker 容器
docker环境时区与宿主机不一致的解决办法
docker环境时区与宿主机不一致的解决办法
689 0
|
Java 关系型数据库 微服务
Seata常见问题之项目一直启动不成功如何解决
Seata 是一个开源的分布式事务解决方案,旨在提供高效且简单的事务协调机制,以解决微服务架构下跨服务调用(分布式场景)的一致性问题。以下是Seata常见问题的一个合集
1240 0
|
存储 NoSQL Redis
Redis第四弹,Redis实现list时候做出的优化ziplist(压缩链表,元素少的情况),可更好的节省空间list——(内部编码:quicklist)Object encoding
Redis第四弹,Redis实现list时候做出的优化ziplist(压缩链表,元素少的情况),可更好的节省空间list——(内部编码:quicklist)Object encoding
|
XML JSON JavaScript
javascript、jquery、AJAX总结
javascript、jquery、AJAX总结
|
Linux
LINUX进阶(其他篇)之在虚拟机linux无法使用ifconfig的解决方法
LINUX进阶(其他篇)之在虚拟机linux无法使用ifconfig的解决方法
493 0
LINUX进阶(其他篇)之在虚拟机linux无法使用ifconfig的解决方法
|
JSON JavaScript 前端开发
|
设计模式 存储 移动开发
从十分后悔到紧张应对金九银十的我全靠着这份资料
前言 相信有些小伙伴是年前辞职,结果赶上了疫情,在家里一呆就是几个月!许多人都在家吃喝玩乐而荒废了自己的知识。而我也不例外。本来我已经对今年的面试不抱有任何的希望。但当我看到这份资料时,我在心中不经又产生了希望。让我从浪费时间的自责中开始变得紧张复习起来。
从十分后悔到紧张应对金九银十的我全靠着这份资料
|
Python
[物理学与PDEs]第1章第5节 Maxwell 方程组的数学结构, 电磁场的波动性 5.1 Maxwell 方程组的数学结构
Maxwell 方程组具有本质重要性的为: $$\beex \bea \ve_0\mu_0\cfrac{\p {\bf E} }{\p t} -\rot{\bf B} &=-\mu_0{\bf j} ,\\ \cfrac{\p {\bf B} }{\p t}+\rot {\bf E} &={\bf 0} .
943 0