1.从本地文件系统中导入数据到hive表数据库
(1)数据准备(/home/sopdm/test.dat):oop
1,wyp,25,13188888888 2,test,30,13899999999 3,zs,34,89931412orm
(2)首先建立表 use sopdm; drop table if exists sopdm.wyp; create table if not exists sopdm.wyp(id int,name string,age int,tel string) row format delimited fields terminated by ',' stored as textfile;hadoop
(3)从本地文件系统中导入数据到Hive表input
load data local inpath ‘/home/sopdm/test.dat’ into table sopdm.wyp;文件上传
(4)能够到wyp表的数据目录下查看,以下命令string
dfs -ls /user/sopdm/hive/warehouse/sopdm.db/wyp;it
2.从HDFS上导入数据到Hive表table
(1)如今hdfs中建立一个input目录存放HDFS文件 hadoop fs -mkdir input; 或 hadoop fs -mkdir /user/sopdm/input;form
(2)把本地文件上传到HDFS中,并重命名为test_hdfs.dat hadoop fs -put /home/sopdm/test.dat /user/sopdm/input/test_hdfs.dat;
(3)查看文件 dfs -cat /user/sopdm/input/test_hdfs.dat;
(4)将内容导入hive表中
--拷贝“本地数据”到“hive”使用:load data local… --转移“HDFS”到“hive”(必须同一个集群)使用:load data… load data inpath ‘/user/sopdm/input/test_hdfs.dat’ into table sopdm.wyp;
3.从别的Hive表中导入数据到Hive表中
create table if not exists sopdm.wyp2(id int,name string,tel string) row format delimited fields terminated by ',' stored as textfile;
--overwrite是覆盖,into是追加 insert into table sopdm.wyp2 select id,name,tel from sopdm.wyp;
--多表插入 --高效方式-查询语句插入多个分区 from sopdm.wyp w insert overwrite table sopdm.wyp2 select w.id,w.name,w.tel where w.age=25 insert overwrite table sopdm.wyp2 select w.id,w.name,w.tel where w.age=27;
4.建立Hive表的同时导入查询数据
create table sopdm.wyp3 as select id,name,tel,age from sopdm.wyp where age=25;
5.使用sqoop从关系数据库导入数据到Hive表 这个放在sqoop总结中去讲解。