zoukankan      html  css  js  c++  java
  • 【Hive】建表

    1.建表

        Create [EXTERNAL] TABLE [IF NOT EXISTS] table_name

        (

          [(col_name data_type [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]

            [LOCATION hdfs_path]

      参数解析:

    1. PARTITIONED 表示的是分区,不同的分区会以文件夹的形式存在,在查询的时候指定分区查询将会大大加快查询的时间。
    2. CLUSTERED表示的是按照某列聚类,例如在插入数据中有两项“张三,数学”和“张三,英语”,若是CLUSTERED BY name,则只会有一项,“张三,(数学,英语)”,这个机制也是为了加快查询的操作。
    3. STORED是指定排序的形式,是降序还是升序。
    4. BUCKETS是指定了分桶的信息,这在后面会单独列出来,在这里还不会涉及到。
    5. ROW FORMAT是指定了行的参数。还要指定列的信息,如ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' LINES TERMINATED BY ' '
    6. STORED AS是指定文件的存储格式。Hive中基本提供两种文件格式:SEQUENCEFILE和TEXTFILE,序列文件是一种压缩的格式,通常可以提供更高的性能。
    7. LOCATION指的是在HDFS上存储的位置

      示例:

        create table if not exists studentno  

        (  

            stuno string comment 'student number',  

            stuname string comment 'student name'  

        )  

        comment 'student information'  

        row format delimited fileds terminated by ' ' lines terminated by ' '  

        stored as textfile  

        location '/ex_tmp/student';  

    2.建立外部表

      建外部表时要加external关键字

      create external table tablename(...)

    3.删除表

      drop table [IF EXISTS] tablename;

    4.内部表和外部表的区别

      创建外部表需要添加 external 字段。而内部表不需要。

      删除外部表时,HDFS中的数据文件不会一起被删除。而删除内部表时,表数据及HDFS中的数据文件都会被删除。

    5.建立临时表

      create temporary table tablename as(...)

       临时表建立只能提供给当前使用,退出的时候就会被自动删除掉。

    6.一些操作

      desc tablename;查看表结构信息

      describe tablename;查看表的信息

      show partitions tablename;查看表分区

  • 相关阅读:
    EasyUI改变Layout的Region的宽高,位置等信息
    Linq-C#左连接
    [SQL Server]如何快速查找使用了某个字段的所有存储过程
    NET联调
    Linq-Order By操作
    Java之Filter --Servlet技术中最实用的技术
    JavaWeb之JSON
    JavaSE(一)之认识java
    JavaWeb之Ajax
    【iScroll源码学习02】分解iScroll三个核心事件点
  • 原文地址:https://www.cnblogs.com/zzhangyuhang/p/8698353.html
Copyright © 2011-2022 走看看