`
苹果草莓
  • 浏览: 5370 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

表创建语句及参数详解

    博客分类:
  • hive
阅读更多
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:实际数据的路径。
0
0
分享到:
评论

相关推荐

    达梦数据库常用系统视图及查询语句.pdf

    达梦数据库常⽤系统视图及查询语句 ⼀、常⽤的系统视图: dba_objects:显⽰数据库中所有的对象,例如想查询数据库中有没有某个对象 v$sessions:显⽰会话的具体信息,如执⾏的 sql 语句、主库名、当前会话状态、⽤...

    精通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 文本和...

    精通SQL--结构化查询语言详解

    第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...

    深入解析DB2--高级管理,内部体系结构与诊断案例.part1.rar

    5.3 利用表函数监控 5.4 性能管理视图及案例 5.5 db2pd 5.6 db2mtrk及监控案例 5.7 本章小结 第6章 数据库配置参数调整 6.1 数据库配置参数 6.2 监控和调优实例(DBM)配置参数 6.3 监控和调优DB配置参数 6.4 调整...

    基于框架的Web开发-映射详解.doc

    7.2 映射详解 1 select 1 .1 简易类型 查询t_login_log表,统计指定用户登录了多少次系统。为了完成这个查询,需要执行下面步骤: (1) 在mappers文件夹下创建LoginLogMapper接口,添加方法int countLogin(int ...

    SQL Server 存储过程与实例

    存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行。 存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参数、输出参数、返回...

    C语言解析教程(原书第4版)(美) 凯利.pdf

    5.4 例子:创建乘方表 5.5 从编译器的角度观察函数原型 5.6 函数定义顺序的另一种风格 5.7 函数调用和传值调用 5.8 开发大型程序 5.9 使用断言 5.10 作用域规则 5.10.1 平行和嵌套代码块 5.10.2 以调试为目的使用...

    2017最新老男孩MySQL高级专业DBA实战课程全套【清晰不加密】,看完教程月入40万没毛病

    07-企业生产场景不同引擎备份命令参数详解.avi 08-利用source恢复mysql数据讲解及实战.avi 09-分库备份后mysql如何分库恢复实战.avi 10-mysql进程-状态-在线修改参数重要知识讲解.avi 11-mysqlbinlog命令介绍及实战...

    深入解析Oracle.DBA入门进阶与诊断案例

    针对数据库的启动和关闭、控制文件与数据库初始化、参数及参数文件、数据字典、内存管理、Buffer Cache与Shared Pool原理、重做、回滚与撤销、等待事件、性能诊断与SQL优化等几大Oracle热点主题,本书从基础知识入手...

    Oracle 手动创建数据库步骤详解

    下面先给大家列出oracle手动创建数据库步骤如下所示: 1.编写初始化参数文件 2.设置操作系统环境变量 3.创建实例 4.以管理员身份连接数据库 5.启动实例 6.create database 创建数据库 7.运行数据字典脚本 8.Oracle的...

    oracle详解

    2、IGNORE、GRANTS和INDEXES,其中IGNORE参数将忽略表的存在,继续导入,这个对于需要调整表的存储参数时很有用,我们可以先根据实际情况用合理的存储参数建好表,然后直接导入数据。而GRANTS和INDEXES则表示是否...

    java版Excel文件导入数据库源代码

    表名称: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字段...

    Mysql面试过关!(详解:索引+常用引擎+常见问题+sql调优)

    3.6 查询条件使用or关键字,其中一个字段没有创建索引,则会导致整个查询语句索引失效; or两边为“>”和“<”范围查询时,索引失效 3.7 两列数据做比较,即便两列都创建了索引,索引也会失效 3.8 查询条件使用不等...

    Pretoria-开源

    Pretoria 是一个用于操作 Oracle 索引文件的工具。 基本上,Pretoria 解析索引文件并对存储参数执行搜索和替换 - 然后将表创建语句和索引创建语句分开。 这些文件然后可以是你

    mysql表的清空、删除和修改操作详解

    不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容。 效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。 delete的效果有点像将...

    最新Python3.5零基础+高级+完整项目(28周全)培训视频学习资料

    函数式编程之参数详解 局部变量与全局变量作用域 递归 函数式编程与函数不同 高阶函数 第4周 上节内容回顾 心灵鸡汤 装饰器详解 装饰器应用详解 装饰器之函数即变量 装饰器之高阶函数 装饰器之嵌套函数 装饰器之...

    ORACLE9i_优化设计与系统调整

    §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访问...

    Python核心编程(第二版).pdf (压缩包分2部分,第二部分)

     2.1 程序输出,print语句及“hello world!”   2.2 程序输入和raw_input()内建函数   2.3 注释   2.4 操作符   2.5 变量和赋值   2.6 数字   2.7 字符串   2.8 列表和元组   2.9 字典...

    Python核心编程(第二版).pdf (压缩包分2部分,第一部分)

     2.1 程序输出,print语句及“hello world!”   2.2 程序输入和raw_input()内建函数   2.3 注释   2.4 操作符   2.5 变量和赋值   2.6 数字   2.7 字符串   2.8 列表和元组   2.9 字典...

Global site tag (gtag.js) - Google Analytics