解决Spark读取Hive分区表出现Input path does not exist的问题
假设这里出错的表为test表。
现象
Hive读取正常,不会报错,Spark读取就会出现:
org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: hdfs://testcluster/user/hive/warehouse/....
在hive中执行desc formatted test;然后找到hdfs存储路径。然后hdfs dfs -ls <your table path>会发现,报错的路径确实不存在。
这也能说明为什么Spark读取会报错,确实找不到那个路径了。
问题分析
在hive中执行show partitions test,查看test表对应的所有分区。
看了下之前添加过的所有分区,发现有个分区对应的hdfs目录不存在了(被人为删除了,一般是清理历史数据)。但是这个分区并没有执行alter table test drop partition p=xxx这样删除掉,因为即便是不删除hive也能正常读取。
但是到Spark这就不行了,Spark加载hive分区表数据会根据show partitions中的分区去加载,发现目录缺失就会出错了。
解决方案
删除分区目录时,同时执行alter table test drop partition (p='xxx')把对应的分区也删除掉就可以了。
如果已经删除了分区目录,也需要执行上以上的命令。
解决Spark读取Hive分区表出现Input path does not exist的问题的更多相关文章
- sc.textFile("file:///home/spark/data.txt") Input path does not exist解决方法——submit 加参数 --master local 即可解决
use this val data = sc.textFile("/home/spark/data.txt") this should work and set master as ...
- Hadoop on Mac with IntelliJ IDEA - 1 解决input path does not exist问题
本文讲述使用IntelliJ IDEA时遇到Hadoop提示input path does not exist(输入路径不存在)的解决过程. 环境:Mac OS X 10.9.5, IntelliJ ...
- [Spark][Hive][Python][SQL]Spark 读取Hive表的小例子
[Spark][Hive][Python][SQL]Spark 读取Hive表的小例子$ cat customers.txt 1 Ali us 2 Bsb ca 3 Carls mx $ hive h ...
- hadoop机群 运行wordcount出现 Input path does not exist: hdfs://ns1/user/root/a.txt
机群搭建好,执行自带wordcount时出现: Input path does not exist: hdfs://ns1/user/root/a.txt 此错误. [root@slave1 hado ...
- wordcount报错:org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist:
Exception in thread "main" org.apache.hadoop.mapreduce.lib.input.InvalidInputException: In ...
- Hadoop问题:Input path does not exist: hdfs://Master:9000/user/hadoop/input
问题描述: org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: hdfs:/ ...
- Spark记录-本地Spark读取Hive数据简单例子
注意:将mysql的驱动包拷贝到spark/lib下,将hive-site.xml拷贝到项目resources下,远程调试不要使用主机名 import org.apache.spark._ impor ...
- spark 读取hive 计算后写入hive
package com.grady import org.apache.spark.SparkConf import org.apache.spark.sql.{DataFrame, Row, Spa ...
- org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: file:/input
原我是这样写的 //输入数据所在的文件目录 FileInputFormat.addInputPath(job, new Path("/input/")); //mapreduce执 ...
随机推荐
- Trace-语句启动Profiler中暂停的跟踪会出现什么状况
2016-09-08 22:09 整理,未发布Profiler创建客户端跟踪.常规页不保存文件.不勾选服务器处理跟踪数据:事件选择RPC:Completed和SQL:BatchCompleted,列筛 ...
- magento目录结构说明,Magento文件夹结构说明,Magento folder structure
/app – 程序根目录 /app/etc – 全局配置文件目录 /app/code – 所有模块安装其模型和控制器的目录 /app/code/core – 核心代码或经过认证 ...
- MWeb 1.4 新功能介绍一:引入文件夹到 MWeb 中管理,支持 Octpress、Jekyll 等静态博客拖拽插入图片和实时预览
之前在 MWeb 中打开非文档库中的 Markdown 文档,如果文档中有引用到本机图片,是没办法在 MWeb 中显示出来和预览的.这是因为 Apple 规定在 Mac App Store(MAS) ...
- CallBack实践。
第一:它的应用场景是什么? if you call me ,i will call back.目前我接触到两种需要回调的需求 1.系统管理平台登录,登录所需要的人员和部门数据都是在另一个基础信息系统中 ...
- 使用Vue构建中(大)型应用
init 首先要起一个项目,推荐用vue-cli安装 $ npm install -g vue-cli $ vue init webpack demo $ cd demo $ npm install ...
- 有一道题,大家能帮我看一下哪里错了吗?c++的
有一道题我不知道是哪里错了,大神们帮忙看一下,谢谢! 试题描述: 在四位自然数中有这样一些特点的数:(1)它们是素数:(2)将这些素数加上45后得到一个新的数值:(3)请同学们在这些新的数值中挑选出: ...
- Hybrid App开发者一定不要错过的框架和工具///////////z
ionicFramework 我是hybrid app的忠实粉丝和大力倡导者,从 新浪移动云开始就不断的寻找能帮助Web程序员开发出漂亮又好用的UI层框架.在历经了jqmobile.sencha to ...
- select/poll/epoll on serial port
In this article, I will use three asynchronous conferencing--select, poll and epoll on serial port t ...
- java中包命名常见规则
做java的都知道java的包.类.接口.枚举.方法.常量.变量等等模型都有一套约定的命名规则! 学习每一种语言都应该学习对应语法和命名规则,以保持一个良好的编码风格.一来显示自己的专业.二来方便阅读 ...
- C# 自动Ping服务
using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; u ...