hive学习笔记——Hive表的创建

    初衷:以前看过Hadoop方面的材料,但是一直以来都是与实际应用脱轨,现在有机会接触到真正的Hadoop集群,还是被他的性能所震撼,利用这个机会认真重新学习下Hadoop平台的使用,所以想整理下学习中的一些心得,以笔记的形式与大家分享一下。——2015.07.28

一、Hive概述

        Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据表,并提供类似于SQL(HiveSQL)的操作功能。在Hive中,本质上是将SQL转换成为MapReduce程序。

    Hive的基本操作与传统的数据库的操作类似,所不同的是HiveSQL语句会转换成MapReduce程序执行,对于特定的查询等操作,具有更高的性能。这部分的笔记是假设已经搭建好Hive以及Hadoop集群,主要精力放在对Hive以及Hadoop的基本操作上。

二、Hive表的基本操作之DDL

1、启动Hive

Hive

hive学习笔记——Hive表的创建_第1张图片

当出现hive>就表示已经进入Hive环境,此时可以进行Hive的基本操作。

2、建立Hive表

格式:


在建表语句的格式中与基本的SQL语句很相似,有几个字段说明一下:

  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';

hive学习笔记——Hive表的创建_第2张图片

3、查看Hive表的信息

describe

4、查看分区信息

show partitions table_name

5、删除表

drop table table_name


注意点:每一个Hive语句以“;”结束。



你可能感兴趣的:(hive)