hive分区与实际分区文件不匹配导致spark读文件出错的问题解决
2023-09-14 08:57:20 时间
先解释下,由于历史原因导致hive中的看到分区比hdfs中的文件夹不匹配,存在hive中分区数有,实际hdfs中无此文件夹。
spark中通过sparkSQL读取hive中的该表时,将会出现异常。
解决方案:
1. 检查该表是否是外部表,如果不是,将属性修改为外部表属性。
这里修改为外部表,目的是在删除分区时,不会将已有的数据删除。必要时,先做好备份处理。
alter table tablename set tblproperties('EXTERNAL'='TRUE');
2. 删除异常分区
这里尝试过通过drop table方式来删除表,但是发现会报错。
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Invalid partition key & values; keys [year, month, day, hour, ], values [2018, ])
所以这里使用了删除分区。
alter table tablename drop partition(pk_year=2018);
3.使用分区修复命令重新创建分区
msck repair table tablename;
相关文章
- winform treeview 绑定文件夹和文件
- 使用JLink烧写bin文件到Mini2440
- linux下判断文件和目录是否存在[总结]
- Java字节码(.class文件)格式详解(一)
- 大数据基础之Spark(7)spark读取文件split过程(即RDD分区数量)
- Spark创建RDD的四种方式(二):从外部存储(文件)创建 RDD代码示例
- Win10下访问linux的ext4分区文件并拷贝
- Spark平台上提交作业到集群生成的日志文件
- Spark平台上提交作业到集群生成的日志文件
- 一天学完spark的Scala基础语法教程十三、文件IO操作(idea版本)
- 【华为云技术分享】Spark中的文件源(上)
- python 判断文件的创建时间和当前时间的比较
- Android中用文件初始化sqlite 数据库(二)
- 217:vue+openlayers上传GPX文件,导出geojson文件
- VC++获取文件的修改时间,定期清理若干天之前的日志文件(附源码)
- 10行Python代码自动清理电脑内重复文件,解放双手!
- Linux 的文件权限和目录配置
- suse linux通过iso文件安装gcc
- Spark实战(七)spark streaming +kafka(Python版)
- 爬虫----Fiddler如何将抓到的每个包(会话)自动到保存到不同的txt文件中