码迷,mamicode.com
首页 > 其他好文 > 详细

hive建表

时间:2018-04-02 22:51:58      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:data   _for   结构   one   rar   term   limit   nbsp   ati   

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 ‘\t‘ LINES TERMINATED BY ‘\n‘
  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 ‘\t‘ lines terminated by ‘\n‘  

    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;查看表分区

hive建表

标签:data   _for   结构   one   rar   term   limit   nbsp   ati   

原文地址:https://www.cnblogs.com/zzhangyuhang/p/8698353.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!