当前位置:   article > 正文

Hive3详细教程(五)内部表、外部表与导入数据_linux中hive3.0插入数据

linux中hive3.0插入数据

先准备一个stus.txt数据:

Tom,male,20
Jim,male,21
jone,female,20
  • 1
  • 2
  • 3

内部表

内部表又称管理表

1.在hive中新建一个张内部表:

create table stu_m(
   name    string,
   gender   string,
   age      int
)
row format delimited
fields terminated by ','
;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

因为在beeline的命令行中书写sql,并不友好,可以将create语句书写到一个stu_m.sql的文件中,上传到linux虚拟机的/apps目录下,
然后使用source命令执行sql语句实现建表:

source /apps/stu_m.sql;
  • 1

如图所示:
在这里插入图片描述

可以通过desc formatted命令查看表结构详细信息和所存储的hdfs文件位置信息。

desc formatted stu_m;
  • 1

2.上传数据

load data local inpath '/apps/stus.txt' overwrite into table stu_m;
  • 1

3.验证:

select * from stu_m;
  • 1

在这里插入图片描述

Hdfs上位置:
在这里插入图片描述

外部表:

外部表在创建的时候与内部表相比有了一个external 关键字,并且要指定存储在hdfs的位置,其余的load、select与内部标一致。
1.创建外部表

create  external  table  stu_e(
   name    string,
   gender   string,
   age      int
)
row format delimited
fields terminated by ','
location '/my_hive/stu_e'
;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

其中location '/my_hive/stu_e’指定的是一个hdfs的路径。
2.load上数据
Hdfs上位置:
在这里插入图片描述

使用drop删除内部表和外部表,会发现内部表删除后,所对应的hdfs数据也消失,而外部表删除后,仅仅是删除了元数据,hdfs数据并没有消失。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/78864
推荐阅读
相关标签
  

闽ICP备14008679号