`
苹果草莓
  • 浏览: 5507 次
  • 性别: 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
分享到:
评论

相关推荐

    创建表空间语句

    ### 创建表空间语句知识点详解 #### 一、表空间概念 在Oracle数据库中,表空间(Tablespace)是逻辑存储结构的一部分,用于组织和管理数据。每一个Oracle数据库至少包含一个表空间,通常称为系统表空间(SYSTEM)。...

    SQL语句创建数据库及修改、删除数据库

    ### SQL语句创建数据库及修改、删除数据库:深入解析与应用 #### 1. SQL语句创建数据库 在SQL Server中,使用`CREATE DATABASE`语句来创建一个新的数据库。此命令允许用户定义数据库的结构,包括主数据文件、辅助...

    Informix SQL 语句详解

    CREATE TABLE 语句用于创建一个新的 Informix 表。语法如下: ```sql CREATE [TEMP] TABLE table_name (column_name data_type [NOT NULL], …) [IN “pathname”] ``` 其中,`table_name` 是表的名称,`column_name...

    解决python 执行sql语句时所传参数含有单引号的问题

    在Python编程中,当我们需要执行SQL语句时,有时会遇到参数中包含单引号(')的情况,这可能导致SQL语法错误。在描述的问题中,作者在尝试插入数据到`teacher`表时遇到了编程错误,因为`t_info`字段的值`result2`...

    创建表空间语句.txt

    ### 创建表空间语句知识点详解 #### 一、Oracle创建表空间概述 在Oracle数据库管理中,表空间是逻辑存储单元,它将物理文件映射到数据库中的逻辑结构上。表空间由一个或多个数据文件组成,每个数据文件都是操作...

    python自动生成sql建表语句

    首先,从标题"python自动生成sql建表语句"我们可以了解到,我们要讨论的是如何用Python编写程序,以读取某种数据源(例如Excel文件),然后根据数据结构自动生成适用于不同数据库系统的SQL创建表的语句,如Oracle、...

    java读取excl文件内容进行mysql自动创建表

    之后,编写SQL语句来创建表,SQL语句应基于之前从Excel文件中提取的字段名和类型。 在构建SQL语句时,可以使用Java字符串拼接或StringBuilder类来动态生成CREATE TABLE语句。确保包含所有字段,并正确设置每个字段...

    Oracle语句优化53个规则详解

    ### Oracle语句优化53个规则详解 #### 一、选用适合的Oracle优化器 在Oracle数据库中,优化器的选择对于SQL语句的执行效率至关重要。Oracle提供了三种优化器模式: 1. **基于规则的优化器(RULE)**:这是一种较...

    语句表编程

    ### 语句表编程(STL)知识点解析 #### 一、STL语句表简介 语句表(Statement List, STL)是一种编程语言,主要用于西门子SIMATIC S7-300和S7-400系列PLC的编程。它遵循IEC 61131-3标准中定义的“指令表”语言规范...

    30个Oracle语句优化规则详解

    Oracle的共享池允许相同SQL语句的解析结果被复用,减少解析开销。SQL语句必须完全一致(包括空格和换行)才能共享。共享池大小通过init.ora文件中的参数设置,越大则能存储更多语句供共享。 4. 缓冲高速缓存 简单表...

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

    本文将详细介绍达梦数据库中的常用系统视图及查询语句,帮助管理员更好地监控和管理数据库。 一、常用的系统视图: 1. `dba_objects`:此视图显示数据库中所有对象的详细信息,包括表、视图、索引、过程等。通过...

    数据库sql语句解析系统.pdf

    系统还需要能够执行CREATE语句,创建数据表、视图、索引等数据库对象,并确保在创建过程中定义了主键、外键、唯一性约束、非空约束等完整性约束,以维护数据的一致性和准确性。 执行SELECT语句是数据库最常用的查询...

    创建Library数据库语句

    - 文件中还包括了`drop database`和`drop table`语句,用于删除已创建的数据库和表。 - 多个`select * from`语句用于查询各个表中的所有记录,方便检查数据的正确性和完整性。 以上就是从给定文件中提取的主要知识...

    精彩SQL语句用法详解

    ### 精彩SQL语句用法详解 #### 一、引言 SQL(Structured Query Language,结构化查询语言)是一种用于管理和处理关系型数据库的标准计算机语言。它被广泛应用于数据库查询、更新、管理和控制等方面。本文将详细...

    hive外部表创建

    ### Hive外部表创建详解 #### 一、引言 在大数据处理领域,Hive作为一款广泛使用的数据仓库工具,能够高效地对存储在Hadoop文件系统中的数据进行查询与管理。其中,外部表的创建是Hive使用过程中的一个重要概念。...

    informix语句详解

    ### Informix SQL 语句详解 #### 1. CREATE DATABASE 数据库名称 [WITH LOGIN “路径名”] **创建数据库** - **语法结构**: `CREATE DATABASE database_name [WITH LOGIN "pathname"]` - **功能描述**: 该命令...

    SQL查表大小语句

    根据提供的文件信息,本文将详细解释如何通过SQL查询来获取数据库中各数据表所占用的空间大小,这在数据库管理及优化工作中尤为重要。 ### SQL查询语句解析 #### 标题:“SQL查表大小语句” 该标题直接指出本文...

    oracle 创建表空间命令

    以下是对"Oracle 创建表空间命令"以及"Oracle 创建用户及表空间,及用户权限分配"的详细解释。 首先,让我们了解如何创建Oracle用户。Oracle用户是数据库系统中的身份实体,用于访问和操作数据库资源。创建用户的...

Global site tag (gtag.js) - Google Analytics