Hive数据导入方式

目录

1.从本地文件系统中导入数据到hive表

2.从HDFS上导入数据到Hive表

3.从别的Hive表中导入数据到Hive表中

4.创建Hive表的同时导入查询数据

5.使用sqoop从关系数据库导入数据到Hive表


1.从本地文件系统中导入数据到hive表

(1)数据准备(/home/newDatabaese/test.txt)

  1,pit,18

  2,cat,17

  3,dog,16

(2)首先创建表

use newDatabaes;

create table if not newDatabaes.test(id int,name string,num int)

row format delimited

fields terminated by ','

stored as textfile;

(3)从本地文件系统中导入数据到Hive表

load data local inpath ‘/home/newDatabaese/test.txt’ into table newDatabaes.test;

(4)可以到wyp表的数据目录下查看,如下命令

dfs  -ls  /user/sopdm/hive/warehouse/newDatabase.db/test;

2.从HDFS上导入数据到Hive表

(1)现在hdfs中创建一个input目录存放HDFS文件

hadoop fs -mkdir input;  或   hadoop fs -mkdir /user/newDatabaes/input;

(2)把本地文件上传到HDFS中,并重命名为test_hdfs.dat

hadoop fs -put /home/newDatabaes/test.dat /user/newDatabaes/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/newDatabaes/input/test_hdfs.dat’ into table newDatabaes.test;

3.从别的Hive表中导入数据到Hive表中

create table if not exists newDatabaes.test1(id int,name string,num int)

row format delimited

fields terminated by ','

stored as textfile;

--overwrite是覆盖,into是追加

insert into table newDatabaes.test1

select id,name,tel from newDatabaes.test;

--多表插入

--高效方式-查询语句插入多个分区

from newDatabaes.test w

insert overwrite table newDatabaes.test1

    select w.id,w.num where w.name='dog'

insert overwrite table newDatabaes.test1

    select w.id,w.num where w.name='cat';

4.创建Hive表的同时导入查询数据

create table newDatabaes.test2

       as select id,name,num from newDatabaes.test where num=17;

5.使用sqoop从关系数据库导入数据到Hive表

    这个放在sqoop总结中去讲解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值