91.向Hive表加载数据

91.向Hive表加载数据,第1张

91.向Hive表加载数据 91.1 演示环境介绍

CentOS版本:6.5CM和CDH版本为5.13.1 91.2 *** 作演示

表结构

CREATE TABLE my_table(
    KEY int, 
    value string
) 
ROW FORMAT DELIMITED 
FIELDS TERMINATED BY ',' 
STORED AS TEXTFILE;
CREATE TABLE my_table1(
    KEY int, 
    age int
) 
ROW FORMAT DELIMITED 
FIELDS TERMINATED BY ',' 
STORED AS TEXTFILE;

数据文件内容:

[root@ip-186-31-6-148 data]# more a.txt 
1,test
2,fayson
3,zhangsan
[root@ip-186-31-6-148 data]# 

test_user表数据

Insert方式加载数据

insert向Hive表中插入数据可以单条插入和多条插入

insert into my_table values(1,'fayson1'); #单条插入
insert into my_table values(2,'fayson2'),(3,'fayson3'); #多条插入

使用追加的方式从其他表查询相应数据并插入到Hive表中

使用追加的方式将test_user表中id大于3并且小于5的数据插入到my_table表中

INSERT INTO my_table 
   SELECt id,name from test_user WHERe id > 3 and id < 5;

使用覆盖的方式从test_user表查询相应数据并插入到Hive表中

使用覆盖的方式将test_user表中id大于3并且小于5的数据插入到my_table表中

INSERT OVERWRITE TABLE my_table 
   SELECt id,name from test_user WHERe id > 3 and id < 5;

多表插入,将test_user表中的数据分别插入到my_table和my_table1中

将test_user表中id大于4并且小于6的数据,分别插入到my_table和my_table1中

FROM test_user 
  INSERT INTO my_table select id, name where id > 4 and id < 6
  INSERT INTO my_table1 select id, age 
where id > 4 and id < 6;

Load本地数据文件

在命令行使用追加的方式Load本地数据文件到Hive表中

LOAD DATA LOCAL INPATH '/data/a.txt' INTO TABLE my_table;

使用覆盖的方式Load本地数据文件到Hive表中

LOAD DATA LOCAL INPATH '/data/a.txt' OVERWRITE INTO TABLE my_table;

Load HDFS数据文件

将文件put到HDFS的/data目录下

修改/data目录为hive用户

sudo -u hdfs hadoop fs -chown -R hive:hive /data 

在命令行使用追加的方式Load HDFS数据文件到Hive表中

LOAD DATA INPATH '/data/a.txt' INTO TABLE my_table;

在命令行使用覆盖的方式Load HDFS数据文件到Hive表中

LOAD DATA INPATH '/data/a.txt' OVERWRITE INTO TABLE my_table;

总结

Load本地数据文件时需要注意文件目录和数据文件的权限,/data目录拥有其它用户的执行权限(x),目录下的数据文件有读权限®,否则会抛如下异常:

“Invalid path ''/data/a.txt'': No files matching path file:/data/a.txt (state=42000,code=40000)”

Load HDFS数据文件时需要登录Hive的用户是否有访问该文件的权限Load本地文件时是将数据拷贝至对应表的数据目录下,且文件名不变Load HDFS文件到Hive表时,文件会被Move到对应表的数据目录下,且保持文件名使用Load命令时如果没有OVERWRITE,会直接APPEND到Hive表中,并且不会去除重复数据

大数据视频推荐:
CSDN
大数据语音推荐:
企业级大数据技术应用
大数据机器学习案例之推荐系统
自然语言处理
大数据基础
人工智能:深度学习入门到精通

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5706656.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存