hive–外部表常用操作 全面且详细

hive–外部表常用操作 全面且详细在创建表的时候可以指定 external 关键字创建外部表 外部表对应的文件存储在 location 指定的 hdfs 目录下 向该目录添加新文件的同时 该表也会读取到该文件 当然文件格式必须跟表定义的一致

大家好,欢迎来到IT知识分享网。

文章中关于外部表常用操作目录

一、外部表操作

二、数据装载载命令Load

三、目标: 分别创建老师与学生表外部表,并向表中加载数据

     3.1 准备工作 

​​​​​​​      3.2 路径

   3.4实现

一、外部表操作

在创建表的时候可以指定external关键字创建外部表,外部表对应的文件存储在location指定的hdfs目录下,向该目录添加新文件的同时,该表也会读取到该文件(当然文件格式必须跟表定义的一致)。

外部表因为是指定其他的hdfs路径的数据加载到表当中来,所以hive表会认为自己不完全独占这份数据,所以删除hive外部表的时候,数据仍然存放在hdfs当中,不会删掉

​​​​​​​​​​​​​​二、数据装载载命令Load

Load命令用于将外部数据加载到Hive表中

语法:

load data [local] inpath /export/data/hive_data/student.txt’ [overwrite] into table student [partition (partcol1=val1,)];

参数:

  1. load data:表示加载数据
  2. local: 表示从本地加载数据到hive表;否则从HDFS加载数据到hive表
  3. inpath:表示加载数据的路径
  4. overwrite:表示覆盖表中已有数据,否则表示追加
  5. into table:表示加载到哪张表
  6. student:表示具体的表
  7. partition:表示上传到指定分区

三、目标: 分别创建老师与学生表外部表,并向表中加载数据

     3.1 准备工作 

在linux的 /export/data/hive_data 目录下 创建两个文件, 内容如下

student.txt

01 赵雷 1990-01-01
02 钱电 1990-12-21
03 孙风 1990-05-20
04 李云 1990-08-06
05 周梅 1991-12-01 `
06 吴兰 1992-03-01
07 郑竹 1989-07-01
08 王菊 1990-01-20






teacher.txt

01 张三
02 李四
03 王五

注意: 列之间使用 退格键(Tab) 进行分割

​​​​​​​      3.2 路径

1 创建教师外部表

2 创建学生外部表

3 从本地文件系统向表中加载数据 且 演示追加效果

4 从本地文件系统向表中加载数据 且 演示覆盖效果

5 从hdfs系统向表加载数据

5.1 在hdfs系统中创建目录

5.2 将数据文件上传到 hdfs目录中

5.3 加载数据

   3.4实现

 创建老师表:

create external table teacher (t_id string,t_name string) 

row format delimited

fields terminated by   ;

​​​​​​​创建学生表:

create external table student (s_id string,s_name string,s_birth string , s_sex string ) 

row format delimited

fields terminated by  ;

​​​​​​​从本地文件系统向表中加载数据

load data local inpath /export/data/hive_data/student.txt into table student;

​​​​​​​加载数据并覆盖已有数据

load data local inpath /export/data/hive_data/student.txt’ overwrite  into table student;

​​​​​​​从hdfs文件系统向表中加载数据

需要提前将数据上传到hdfs文件系统,其实就是一个移动文件的操作

cd /export/data/hive_data

hdfs dfs mkdir p /hivedatas

hdfs dfs put teacher.txt /hivedatas/

load data inpath ‘/hivedatas/teacher.txt’ into table teacher;

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/117419.html

(0)
上一篇 2025-11-21 10:33
下一篇 2025-11-21 11:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信