83.Hive Load本地数据文件异常解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了83.Hive Load本地数据文件异常解决相关的知识,希望对你有一定的参考价值。

参考技术A

问题信息如下:

在HiveServer2服务所在的ip-186-31-5-190.fayson.com服务器/data目录下创建a.txt数据文件

在cdh04服务器上使用beeline连接ip-186-31-5-190.fayson.com的HiveServer2服务,执行Load命令

总结

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

Hive Load本地数据文件异常分析

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。


Fayson的github:https://github.com/fayson/cdhproject


提示:代码块部分可以左右滑动查看噢


1.问题描述



使用beeline登录HiveServer2my_tableLoad本地数据文件时报如下异常:


执行命令:

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

(可向右拖动)


异常信息如下:


Error: Error while compiling statement: FAILED: SemanticException Line 1:23 Invalid path ''/data/a.txt'': No files matching path file:/data/a.txt (state=42000,code=40000)

(可向右拖动)



2.问题复现



1.测试表结构


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

(可向右拖动)


2.cdh04服务的/data目录下添加测试数据


 [root@cdh04 data]# cat a.txt 
1,test
2,fayson
3,zhangsan
[root@cdh04 data]#

(可向右拖动)


Hive Load本地数据文件异常分析


3.使用beeline连接ip-172-31-5-190.fayson.comHiveServer2服务


Hive Load本地数据文件异常分析


问题复现。


3.问题解决



1.HiveServer2服务所在的ip-172-31-5-190.fayson.com服务器/data目录下创建a.txt数据文件


[root@ip-172-31-5-190 ~]# mkdir /data
[root@ip-172-31-5-190 ~]# vim /data/a.txt
1,test
2,fayson
3,zhangsan

(可向右拖动)


Hive Load本地数据文件异常分析


2.cdh04服务器上使用beeline连接ip-172-31-5-190.fayson.comHiveServer2服务,执行Load命令


[root@cdh04 ~]# beeline
beeline> !connect jdbc:hive2://ip-172-31-5-190.fayson.com:10000/
...
0: jdbc:hive2://ip-172-31-5-190.fayson.com:10> LOAD DATA LOCAL INPATH '/data/a.txt' OVERWRITE INTO TABLE my_table;
No rows affected (1.042 seconds)
0: jdbc:hive2://ip-172-31-5-190.fayson.com:10> select * from my_table;
+---------------+-----------------+--+
| my_table.key  | my_table.value  |
+---------------+-----------------+--+
| 1             | test            |
| 2             | fayson          |
| 3             | zhangsan        |
+---------------+-----------------+--+
3 rows selected (0.389 seconds)
0: jdbc:hive2://ip-172-31-5-190.fayson.com:10>

(可向右拖动)


Hive Load本地数据文件异常分析


数据Load成功。


4.总结



  • Hive使用LOAD LOCAL DATA时,数据文件必须与HiveServer2服务在同一个节点,否则会报“Invalid path '/path':No files matching path file”异常

  • 可以使用LOAD DATA方式加载HDFS上的数据,就不会有这样的限制


这里Fayson还做了个测试,数据文件和HiveServer2在同一个节点了,但是将/data目录的权限修改为700710时同样会报Invalid path '/path': No files matchingpath file,直至将/data目录权限修改为711时才成功将本地数据文件LOADHive表中。




提示:代码块部分可以左右滑动查看噢


为天地立心,为生民立命,为往圣继绝学,为万世开太平。

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。



推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。


以上是关于83.Hive Load本地数据文件异常解决的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate 中 load() 方法导致的 noSession 异常

db2 存储过程 异常处理

常见Failed to load ApplicationContext异常解决方案!!

Appdomain.Load(AssemblyName) 引发文件未找到异常

从文件中加载数据以及异常处理

04-git-解决冲突与异常