從零自學Hadoop(15):Hive表操做

閱讀目錄

本文版權歸mephisto和博客園共有,歡迎轉載,但須保留此段聲明,並給出原文連接,謝謝合做。html

文章是哥(mephisto)寫的,SourceLinkoop

 

     上一篇,咱們介紹了Hive和對其進行了安裝,下面咱們就初步的使用hive進行講解。spa

   下面咱們開始介紹hive的建立表,修改表,刪除表等。3d

建立表

一:Hive Client

  在Terminal輸入hive命令須要安裝Hive Client。code

二:進入

  切換用戶,進入hivehtm

su hdfs
hive

  

三:建立表

  語法:blog

CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name

  [COMMENT database_comment]

  [LOCATION hdfs_path]

  [WITH DBPROPERTIES (property_name=property_value, ...)];

  例子:索引

create table student (
  id             int,
  name       string,
  openingtime        string
);

 

四:建立帶有分區的表

      介紹:get

  一個表能夠擁有一個或者多個分區,每一個分區以文件夾的形式單獨存在表文件夾的目錄下。分區是以字段的形式在表結構中存在,經過describe table命令能夠查看到字段存在,可是該字段不存放實際的數據內容,僅僅是分區的表示。在Hive Select查詢中通常會掃描整個表內容,會消耗不少時間作不必的工做。有時候只須要掃描表中關心的一部分數據,所以建表時引入了partition概念。表中的一個 Partition 對應於表下的一個目錄,Partition 就是輔助查詢,縮小查詢範圍,加快數據的檢索速度和對數據按照必定的規格和條件進行管理。博客

  語法:

create table table_name (

  id                int,

  dtDontQuery       string,

  name              string

)

partitioned by (date string)

  例子:

create table score (

  id                int,

  studentid       int,

  score              double

)

partitioned by (openingtime string);

 

查看錶

一:查看全部表

show tables;

二:查看某個表信息

  咱們經過Desctribe來顯示某個表的信息

  語法:

DESCRIBE DATABASE [EXTENDED] db_name;

DESCRIBE SCHEMA [EXTENDED] db_name;     -- (Note: Hive 0.15.0 and later)

---------------------------------------------------------------------------------

DESCRIBE [EXTENDED|FORMATTED]  

  [db_name.]table_name[.col_name ( [.field_name] | [.'$elem$'] | [.'$key$'] | [.'$value$'] )* ];

                                        -- (Note: Hive 1.x.x and 0.x.x only)

                                        -- (see "Hive 2.0+: New Syntax" below)

  例子:

DESCRIBE student;
DESCRIBE score;

三:查看某列信息

DESCRIBE student.id;

 

修改表

一:改表名

  語法:

ALTER TABLE table_name RENAME TO new_table_name;

  例子:

alter table student rename to student1;

二:修改列

  語法:

ALTER TABLE table_name [PARTITION partition_spec] CHANGE [COLUMN] col_old_name col_new_name column_type

  [COMMENT col_comment] [FIRST|AFTER column_name] [CASCADE|RESTRICT];

  例子:

alter table student1 change name name1 string;

 

三:增長/替換列

  語法:

ALTER TABLE table_name [PARTITION partition_spec]

  ADD|REPLACE COLUMNS (col_name data_type [COMMENT col_comment], ...)

  [CASCADE|RESTRICT]

  例子:

alter table student1 add columns (sex int);

刪除表

一:刪除表

  語法:

DROP (DATABASE|SCHEMA) [IF EXISTS] database_name [RESTRICT|CASCADE];

  例子:

drop table score;

--------------------------------------------------------------------

  到此,本章節的內容講述完畢。

系列索引

  【源】從零自學Hadoop系列索引

 

 

 

 

本文版權歸mephisto和博客園共有,歡迎轉載,但須保留此段聲明,並給出原文連接,謝謝合做。

文章是哥(mephisto)寫的,SourceLink

相關文章
相關標籤/搜索