大数据学习——hive基本操作

Posted o_0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据学习——hive基本操作相关的知识,希望对你有一定的参考价值。

1 建表

create table student(id int,name string ,age int) 
row format delimited
fields terminated by \',\';

2 创建一个student.txt

添加数据

1,zhangsan,10
2,lisi,20
3,wnagwu,25

3 上传

hdfs dfs -put student.txt /user/hive/warehouse/student

4 select * from student;

 

5 通常不会通过put方式加载数据,而是通过load的方式添加数据

create table t_user(id int,name string ,age int) 
row format delimited
fields terminated by \',\';

 

 load data local inpath \'/root/student.txt\' into table t_user;

 

6 添加hdfs上的数据到hive

hdfs dfs -put student1.txt /

 

 

7 内部表和外部表的区别

EXTERNAL关键字可以让用户创建一个外部表,在建表的同时指定一个指向实际数据的路径(LOCATION),Hive 创建内部表时,会将数据移动到数据仓库指向的路径;若创建外部表,仅记录数据所在的路径,不对数据的位置做任何改变。在删除表的时候,内部表的元数据和数据会被一起删除,而外部表只删除元数据,不删除数据。

 

企业开发中经常使用的是外部表,删除表后,元数据还在,比较安全

 

8 创建一个分区表

 

create table t_partitioned(ip string ,duration int)
partitioned by(country string)
row format delimited
fields terminated by \',\';

9 造数据

 

 

 

 

 

 

 10 数据存储格式

STORED AS

SEQUENCEFILE|TEXTFILE|RCFILE

如果文件数据是纯文本,可以使用 STORED AS TEXTFILE。如果数据需要压缩,使用 STORED AS SEQUENCEFILE。

 

create table t_3(id int,name string)
row format delimited
fields terminated by \',\'
stored as sequencefile;

插入数据(不能用load方式添加数据)

insert overwrite table t_3 select id,name from student;

 

以上是关于大数据学习——hive基本操作的主要内容,如果未能解决你的问题,请参考以下文章

[hive学习翻译]Hive - Introduction

Hive学习路线图

打怪升级之小白的大数据之旅(六十二)<Hive旅程第三站:Hive数据类型>

打怪升级之小白的大数据之旅(六十二)<Hive旅程第三站:Hive数据类型>

打怪升级之小白的大数据之旅(六十四)<Hive旅程第五站:DML基本操作>

打怪升级之小白的大数据之旅(六十四)<Hive旅程第五站:DML基本操作>