CREATE [EXTERNAL] TABLE [IF NOT EXISTS] [数据库名.]表名
[(列名 数据类型 [COMMENT col_comment], ...)]
[COMMENT table_comment]
[PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)]
[CLUSTERED BY (col_name, col_name, ...) [SORTED BY (col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS]
[ROW FORMAT row_format]
[STORED AS file_format]
| STORED BY 'storage.handler.class.name' [WITH SERDEPROPERTIES (...)]
(Note: only available starting with 0.6.0)]
[LOCATION hdfs_path]
[TBLPROPERTIES (property_name=property_value, ...)] (Note: only available starting with 0.6.0)
参数解释:
EXTERNAL:是否为外部表(加EXTERNAL为外部表)。
外部表
建表时,可以指定一个指向实际数据的路径(LOCATION)。
删表时,只删除元数据,不删除数据(即不删除HDFS上的数据文件)。
内部表
建表时,会将数据移动到数据仓库指向的路径。
删表时,只删除元数据和数据文件一起删除。
IF NOT EXISTS:是否检查表已存在。
加上IF NOT EXISTS,表存在时不做任何操作,返回true。
不加,表存在时报错。
COMMENT:添加注释。
PARTITIONED BY:分区。
查询时,有时候只需扫描表中的一部分数据,无需全表扫描,所以引入的分区。
分区的目的,就是辅助查询,缩小查询范围,加快数据的检索速度和对数据按照一定的规格和条件进行管理。
一个表可以拥有一个或者多个分区,每个分区以文件夹的形式单独存在表文件夹的目录下。
分区是以字段的形式在表结构中存在,但是该字段不存放实际的数据内容,仅仅是分区的表示。通过describe table命令可以查看到字段存在。
CLUSTERED BY:群集(桶)。
CLUSTERED是在分区的基础上,按照列,对数据的进一步拆分和归类。
表和分区都可以对列进行 CLUSTERED BY 操作,将若干个列放入一个桶(bucket)中。
bucket的主要作用:
① 数据抽样。
② 提升某些查询操作效率,例如mapside join。
也可以利用SORT BY 对数据进行排序。这样可以为特定应用提高性能。
ROW FORMAT:设置列分隔符。
row_format支持格式
① DELIMITED [FIELDS TERMINATED BY char]
② DELIMITED [COLLECTION ITEMS TERMINATED BY char]
③ DELIMITED [MAP KEYS TERMINATED BY char]
④ SERDE serde_name [WITH SERDEPROPERTIES property_name=property_value,property_name=property_value, ...]
STORED AS:设置加载数据的数据类型。
TEXTFILE表示纯文本文件(默认)。
SEQUENCE表示压缩文件。
LOCATION:实际数据的路径。
分享到:
相关推荐
达梦数据库常⽤系统视图及查询语句 ⼀、常⽤的系统视图: dba_objects:显⽰数据库中所有的对象,例如想查询数据库中有没有某个对象 v$sessions:显⽰会话的具体信息,如执⾏的 sql 语句、主库名、当前会话状态、⽤...
第3章 创建、修改和删除表 3.1 表的基础知识 3.1.1 表的基本结构 3.1.2 表的种类 3.2 SQL数据类型 3.2.1 字符型数据 3.2.2 数字型数据 3.2.3 日期数据类型 3.2.4 二进制数据类型 3.2.5 文本和...
第3章 创建、修改和删除表 37 3.1 表的基础知识 37 3.1.1 表的基本结构 37 3.1.2 表的种类 38 3.2 sql数据类型 39 3.2.1 字符型数据 39 3.2.2 数字型数据 40 3.2.3 日期数据类型 41 3.2.4 二进制数据类型 43...
5.3 利用表函数监控 5.4 性能管理视图及案例 5.5 db2pd 5.6 db2mtrk及监控案例 5.7 本章小结 第6章 数据库配置参数调整 6.1 数据库配置参数 6.2 监控和调优实例(DBM)配置参数 6.3 监控和调优DB配置参数 6.4 调整...
7.2 映射详解 1 select 1 .1 简易类型 查询t_login_log表,统计指定用户登录了多少次系统。为了完成这个查询,需要执行下面步骤: (1) 在mappers文件夹下创建LoginLogMapper接口,添加方法int countLogin(int ...
存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行。 存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参数、输出参数、返回...
5.4 例子:创建乘方表 5.5 从编译器的角度观察函数原型 5.6 函数定义顺序的另一种风格 5.7 函数调用和传值调用 5.8 开发大型程序 5.9 使用断言 5.10 作用域规则 5.10.1 平行和嵌套代码块 5.10.2 以调试为目的使用...
07-企业生产场景不同引擎备份命令参数详解.avi 08-利用source恢复mysql数据讲解及实战.avi 09-分库备份后mysql如何分库恢复实战.avi 10-mysql进程-状态-在线修改参数重要知识讲解.avi 11-mysqlbinlog命令介绍及实战...
针对数据库的启动和关闭、控制文件与数据库初始化、参数及参数文件、数据字典、内存管理、Buffer Cache与Shared Pool原理、重做、回滚与撤销、等待事件、性能诊断与SQL优化等几大Oracle热点主题,本书从基础知识入手...
下面先给大家列出oracle手动创建数据库步骤如下所示: 1.编写初始化参数文件 2.设置操作系统环境变量 3.创建实例 4.以管理员身份连接数据库 5.启动实例 6.create database 创建数据库 7.运行数据字典脚本 8.Oracle的...
2、IGNORE、GRANTS和INDEXES,其中IGNORE参数将忽略表的存在,继续导入,这个对于需要调整表的存储参数时很有用,我们可以先根据实际情况用合理的存储参数建好表,然后直接导入数据。而GRANTS和INDEXES则表示是否...
表名称:text//参考text表创建sql语句详单text.sql 表字段:mc,sl,jg,zk//参考数据库中text表 需要导入的列:1,2,3,4//参考test.xls文件,A列=1,B列=2,C列=3...(一定要和表字段对应) CLOB表字段:clob//text表中clob字段...
3.6 查询条件使用or关键字,其中一个字段没有创建索引,则会导致整个查询语句索引失效; or两边为“>”和“<”范围查询时,索引失效 3.7 两列数据做比较,即便两列都创建了索引,索引也会失效 3.8 查询条件使用不等...
Pretoria 是一个用于操作 Oracle 索引文件的工具。 基本上,Pretoria 解析索引文件并对存储参数执行搜索和替换 - 然后将表创建语句和索引创建语句分开。 这些文件然后可以是你
不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容。 效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。 delete的效果有点像将...
函数式编程之参数详解 局部变量与全局变量作用域 递归 函数式编程与函数不同 高阶函数 第4周 上节内容回顾 心灵鸡汤 装饰器详解 装饰器应用详解 装饰器之函数即变量 装饰器之高阶函数 装饰器之嵌套函数 装饰器之...
§14.4.3 ALTER SESSION语句的OPTIMIZER_GOAL参数 174 §14.4.4 关于提示的改变目标 174 §14.5 基于代价优化器(CBO) 174 §14.5.1 CBO结构调整 175 §14.5.2 CBO需求 175 §14.5.3 使用CBO 176 §14.5.4 CBO访问...
2.1 程序输出,print语句及“hello world!” 2.2 程序输入和raw_input()内建函数 2.3 注释 2.4 操作符 2.5 变量和赋值 2.6 数字 2.7 字符串 2.8 列表和元组 2.9 字典...
2.1 程序输出,print语句及“hello world!” 2.2 程序输入和raw_input()内建函数 2.3 注释 2.4 操作符 2.5 变量和赋值 2.6 数字 2.7 字符串 2.8 列表和元组 2.9 字典...