首页 > 其他分享 >外部表概述

外部表概述

时间:2022-10-05 09:55:58浏览次数:34  
标签:驱动程序 外部 数据库 访问 概述 ORACLE 数据

外部表访问外部源中的数据,就好像这些数据在数据库中的表中一样。

数据可以是为其提供访问驱动程序的任何格式。您可以使用 SQL(串行或并行)、PL/SQL 和 Java 来查询外部表。

外部表的目的

当 Oracle 数据库应用程序必须访问非关系数据时,外部表很有用。

例如,基于 SQL 的应用程序可能需要访问其记录格式如下的文本文件:

100,Steven,King,SKING,515.123.4567,17-JUN-03,AD_PRES,31944,150,90
101,Neena,Kochhar,NKOCHHAR,515.123.4568,21-SEP-05,AD_VP,17000,100,90 
102,Lex,De Haan,LDEHAAN,515.123.4569,13-JAN-01,AD_VP,17000,100,90

您可以创建一个外部表,将文本文件复制到外部表定义中指定的位置,然后使用 SQL 查询文本文件中的记录。同样,您可以使用外部表来授予对 JSON 文档或 LOB 的只读访问权限。

外部表访问驱动程序

访问驱动程序是解释数据库外部数据的 API 。访问驱动程序在数据库内部运行,它使用驱动程序读取外部表中的数据。访问驱动程序和外部表层负责对数据文件中的数据执行所需的转换,以使其与外部表定义相匹配。

 

racle 为外部表提供以下访问驱动程序:

  • ORACLE_LOADER(默认)

    允许使用 SQL*Loader 支持的大多数格式访问外部文件。您不能使用 ORACLE_LOADER驱动程序创建、更新或附加到外部文件。

  • ORACLE_DATAPUMP

    使您能够卸载或加载外部数据。卸载操作从数据库中读取数据并将数据插入到由一个或多个外部文件表示的外部表中。创建外部文件后,数据库无法对其进行更新或附加数据。加载操作读取外部表并将其数据加载到数据库中。

  • ORACLE_HDFS

    支持提取存储在 Hadoop 分布式文件系统 (HDFS) 中的数据。

  • ORACLE_HIVE

    允许访问存储在 Apache Hive 数据库中的数据。源数据可以存储在 HDFS、HBase、Cassandra 或其他系统中。与其他访问驱动程序不同,您无法指定位置,因为ORACLE_HIVE从外部元数据存储中获取位置信息。

  • ORACLE_BIGDATA

    允许对以结构化和非结构化格式存储的数据进行只读访问,包括 Apache Parquet、Apache Avro、Apache ORC 和文本格式。您还可以使用此驱动程序查询本地数据,这对于测试和较小的数据集很有用。

外部表创建

在内部,创建外部表意味着在数据字典中创建元数据。与普通表不同,外部表不描述存储在数据库中的数据,也不描述数据在外部是如何存储的。相反,外部表元数据描述了外部表层必须如何将数据呈现给数据库。

声明有CREATE TABLE ... ORGANIZATION EXTERNAL两个部分。外部表定义描述了列类型。这个定义就像一个视图,可以让 SQL 查询外部数据,而无需将其加载到数据库中。语句的第二部分将外部数据映射到列。

CREATE TABLE AS SELECT除非使用ORACLE_DATAPUMP访问驱动程序创建,否则外部表是只读的。外部表的限制包括不支持索引列和列对象。

 

 

标签:驱动程序,外部,数据库,访问,概述,ORACLE,数据
From: https://www.cnblogs.com/wonchaofan/p/16755100.html

相关文章

  • 临时表概述
    临时表保存仅在事务或会话期间存在的数据 。临时表中的数据是会话私有的。每个会话只能查看和修改自己的数据。可以创建全局临时表或私有临时表。下表显示了它们之间的......
  • XX学Python·概述
    Python概述创始人:吉多·范罗苏姆龟叔为什么要学习Python:大势所趋,简单易学,使用范围广我们本次学习使用Python3.x版本Python在大数据生态中应用非常广泛Python解释器......
  • 网络协议概述
    信息发送过程qq如何发送信息qq请操作系统帮忙发送数据操作系统请网卡帮忙发送数据网卡编译成二进制数字信号并通过谐振电路转换为模拟信号调制之后转为频率大的信......
  • 数据库概述、什么是SQL
    什么是数据库数据库:DataBase,简称DB。按照一定格式存储数据的一些文件的组合。顾名思义:存储的仓库,实际上就是一堆文件。这些文件中存储了具有特定格式的数据什么是数......
  • 设计模式概述
    GOF-23模式分类从目的来看:创建型(Creational)模式:将对象的部分创建工作延迟到子类或者其他对象,从而应对需求变化为对象创建时具体类型实现引来的冲击。结构型(Structural)模式:......
  • ImGUI 1.87 绘制D3D外部菜单
    ImGUI它是与平台无关的C++轻量级跨平台图形界面库,没有任何第三方依赖,可以将ImGUI的源码直接加到项目中使用,该框架通常会配合特定的D3Dx9等图形开发工具......
  • 计算机操作系统基本概述
    基本特征并发并发是指宏观上在一段时间内能同时运行多个程序,而并行则指同一时刻能运行多个指令。并行需要硬件支持,如多流水线、多核处理器或者分布式计算系统。操作......
  • 通过反射加载内部或者外部class对象
    一、class对象信息importcom.baomidou.mybatisplus.core.toolkit.StringUtils;importlombok.Data;/***handler的配置信息*/@DatapublicclassHandlerConfig......
  • 【Linux】学习-01-Linux概述
    1、KailLinux:安全渗透测试使用,黑客等安全相关的人员所擅长的技术。2、补天:漏洞响应平台。https://www.butian.net/3、红帽认证工程师:Linux领域广为认可的专业技术认证......
  • 数据块概述
    Oracle数据库以称为数据块的单元(也称为Oracle块或页)管理数据库数据文件中的逻辑存储空间。数据块是数据库I/O的最小单位。数据块和操作系统块在物理级别,数据库数据存......