首页 > 其他 > 详细

hive DML 操作

时间:2021-03-27 08:57:29      阅读:36      评论:0      收藏:0      [点我收藏+]

数据导入

向表中装载数据(Load)
1.语法
 load data [local] inpath 数据的 path [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:表示上传到指定分区
 

创建表

 
1.先创建表,在导入数据(走mr
 load data [local] inpath ‘‘ into table table_name;
 create table student(id string, name string) row format 
delimited fields terminated by \t;
1.2加载本地文件到 hive
 load data local inpath 
/opt/module/data/student.txt into table default.student;

技术分享图片

 技术分享图片

 

0)创建一张表
create table student(id string, name string) row format 
delimited fields terminated by \t;
(1)加载本地文件到 hive
  load data local inpath 
/opt/module/hive/datas/student.txt into table default.student;
(2)加载 HDFS 文件到 hive 中
上传文件到 HDFS
hive (default)> dfs -put /opt/module/hive/data/student.txt 
/user/atguigu/hive;
加载 HDFS 上数据
load data inpath /user/atguigu/hive/student.txt into table default.student;
(3)加载数据覆盖表中已有的数据
上传文件到 HDFS
hive (default)> dfs -put /opt/module/data/student.txt /user/atguigu/hive;
加载数据覆盖表中已有的数据
hive (default)> load data inpath /user/atguigu/hive/student.txt 
overwrite into table default.student;
2. 通过查询语句向表中插入数据(Insert)
1)创建一张表
hive (default)> create table student_par(id int, name string) row format 
delimited fields terminated by \t;
2)基本插入数据
hive (default)> insert into table student_par 
values(1,wangwu),(2,zhaoliu);
3)基本模式插入(根据单张表查询结果) hive (default)> insert overwrite table student_par select id, name from student where month=201709; insert into:以追加数据的方式插入到表或分区,原有数据不会删除 insert overwrite:会覆盖表中已存在的数据 注意:insert 不支持插入部分字段 4)多表(多分区)插入模式(根据多张表查询结果) hive (default)> from student insert overwrite table student partition(month=201707) select id, name where month=201709 insert overwrite table student partition(month=201706) select id, name where month=201709;
3.查询语句中创建表并加载数据(As Select)
根据查询结果创建表(查询的结果会添加到新创建的表中)
create table if not exists student3
as select id, name from student;

4.创建表时通过 Location 指定加载数据路径

1)上传数据到 hdfs 上
hive (default)> dfs -mkdir /student;
hive (default)> dfs -put /opt/module/datas/student.txt /student; 2)创建表,并指定在 hdfs 上的位置
hive (default)> create external table if not exists student5(
 id int, name string
 )
 row format delimited fields terminated by \t
 location /student;

 

 

hive DML 操作

原文:https://www.cnblogs.com/knighterrant/p/14584803.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!