hive中表数据的导入和导出

一、数据导入

1.从本地磁盘或hdfs导入数据

load data [local] inpath "路径" [overwrite] into table table_name
partition (分区名=分区值);
//参数解读:local和overwrite是可选项,local表示从本地导入,不写local表示在hdfs导入
//overwrite是覆盖写,不写overwrite则为追加导入。

例子

load data local inpath "/opt/module/data/student.txt" overwrite into table student;
//或者现在hdfs上上传一份数据比如上传在hdfs://hadoop102:8020/test.xxx
load data inpath "/test.xxx" overwrite into table student;

2.insert导入

insert into table student2 select id,name from student where id=1001; 

3.建表时as导入

create table table_name as select column_name1,column_name2 from table_name2;

4.建表时通过location加载

create table table_name
(column1 datatype,column2 datatype)
location "hdfs文件地址"    //前提数据文件存在,否则为空表
row format delimited fields terminated by "数据分隔符";

 

 二、数据导出

1.insert导出

//此方法导出的数据不能指定数据存储格式
insert overwrite local directory "本地路径" select column_name from table_name;

//带格式导出
insert overwrite local directory "本地路径"
row format delimited fields terminated by "\t"
select column_name from table_name;

2.hadoop命令导出 

dfs -get /user/hive/warehouse/table_name /opt/module/data/export/filename.txt

3.bash命令行导出

hive -e "select * from dbname.table_name" > /opt/module/data/test.txt;

4.export导出

//导出后在hdfs上会有metadata和data两个文件
export table table_name to "hdfs地址"
//导入
import table table_name from "hdfs地址"

三、删除数据 

//只删数据,不删表
truncate table table_name;

 

 

 

 

你可能感兴趣的:(hive,hadoop,大数据)