我是靠谱客的博主 淡定天空,最近开发中收集的这篇文章主要介绍数据装载命令Load,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

数据装载命令Load

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

语法:

load data [local] inpath '/export/servers/datas/student.txt' overwrite | into table student [paritition (partcol=val,...)]

参数:

1、load data:表示加载数据

2、local:表示从本地加载数据到hive表;否则从HDFS加载数据到hive表

3、inpath:表示加载数据的路径

4、overwrite:表示覆盖表中已有数据,否者表示追加

5、into table:表示加载到那张表

6、student:表示具体的表

7、partition:表示上传到指定分区

操作案例

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

源数据如下:

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 王五

1、创建老师表:

create external table teacher (t_id string,t_name string) row format delimited fields terminated by 't';

2、创建学生表;

create external table student (s_id string,s_name string,s_birth string,s_sex string) row format delimited fields terminated by 't';

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

load data local inpath '/export/servers/hivedatas/student.txt' into table student;

4、加载数据并覆盖已有数据

load data local inpath '/export/servers/hivedatas/student.txt' overwrite into table student;

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

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

cd /export/servers/hivedatas
hadoop fs -mkdir -p /hivedatas
hadoop fs -put teacher.txt /hivedatas/
load data inpath '/hivedatas/teacher.txt' into table teacher;

**注意:**如果删掉student表,hdfs的数据仍然存在,并且重新创建之后,表中就直接存在数据了,因为我们的student表使用的是外部表,drop table 之后,表当中的数据依然保留在hdfs上面了

最后

以上就是淡定天空为你收集整理的数据装载命令Load的全部内容,希望文章能够帮你解决数据装载命令Load所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部