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

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢

1.问题描述


使用beeline登录HiveServer2向my_table表Load本地数据文件时报如下异常:

执行命令:

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]# 

(可向右拖动)

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

问题复现。

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

(可向右拖动)

2.在cdh04服务器上使用beeline连接ip-172-31-5-190.fayson.com的HiveServer2服务,执行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>

(可向右拖动)

数据Load成功。

4.总结


  • Hive使用LOAD LOCAL DATA时,数据文件必须与HiveServer2服务在同一个节点,否则会报“Invalid path '/path':No files matching path file”异常
  • 可以使用LOAD DATA方式加载HDFS上的数据,就不会有这样的限制

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

提示:代码块部分可以左右滑动查看噢 为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

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

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操

原文发布于微信公众号 - Hadoop实操(gh_c4c535955d0f)

原文发表时间:2018-01-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏深度学习之tensorflow实战篇

Hive四种数据导入方式

Hive的几种常见的数据导入方式 这里介绍四种: (1)、从本地文件系统中导入数据到Hive表; (2)、从HDFS上导入数据到Hive表; (3)、从别的表中...

1K7
来自专栏Hadoop实操

如何在CDH中使用Phoenix

昨天我们简单介绍了一下Apache Phoenix,请参考Cloudera Labs中的Phoenix。今天我们主要讲述如何在CDH中安装配置Phoenix,并...

2.2K8
来自专栏杨建荣的学习笔记

数据库突然宕机的问题及分析

昨天晚上,某个环境的数据库在做一个压力测试的时候突然宕机了。这个问题比较急。马上查看日志文件。 看到了如下的一段,报了os级的linux错误。提示没有空间了。 ...

3748
来自专栏杨建荣的学习笔记

使用shell批量监控磁盘坏块(二) (r7笔记第80天)

之前分享了第一篇 使用shell批量监控磁盘坏块(一),今天来简单说说这个需求的实现内容 。 首先主要思路是通过中控的机器来发送监控的细节,然后返回结果。 ?...

3594
来自专栏Netkiller

Apache Hive 快速入门

本文节选自《Netkiller Database 手札》 CentOS 7.3 + Server JRE 1.8 + Hadoop-2.8.0 + Hive-...

3117
来自专栏Hadoop实操

如何在CDH6.0.0-beta1中启用Kerberos

1634
来自专栏杨建荣的学习笔记

分分钟搭建MySQL一主多从环境(r12笔记第31天)

之前写过一篇分分钟搭建MySQL Group Replication的测试环境,如果我们在一台服务器上想搭建一主多从的测试环境,怎么能够分分钟搞定呢,其实...

3686
来自专栏Hadoop实操

如何在CDH集群启用Kerberos

本文档中将KDC服务安装在Cloudera Manager Server所在服务器上(KDC服务可根据自己需要安装在其他服务器)

1.4K6
来自专栏数据分析

[SQLServer大对象]——FileTable从文件系统迁移文件

阅读导航 从文件系统中迁移文件到FileTable 批量加载文件到FileTable 如何批量加载文件到FileTable 通过博文[SQLServer大对象]...

3846
来自专栏乐沙弥的世界

SHUTDOWN: Active processes prevent shutdown operation

      在使用shutdown immediate关闭数据库时hang住,查看alert 日志,遭遇了SHUTDOWN: Active processes ...

882

扫码关注云+社区