无法联系hive表分区,删除与分区相关的hdfs文件后

Lee. YunSu

我的 Hadoop 集群在 11:00 为每个数据工作批处理作业。

该作业创建 hive 表分区(例如 p_date=201702,p_domain=0)并将 rdbms 数据导入到像 ETL 一样的 hive 表分区....(hive 表不是外部表)

但是作业失败了,我删除了一些 hdfs 文件(分区位置 => p_date=20170228,p_domain=0)进行重新处理。

这是我的错误,我只是在直线上输入查询删除分区...

当我以这种方式查询“select * from table_name where p_date=20170228,p_domain=0”时,我联系挂起,但是“select * from table_name where p_date=20170228,p_domain=6”是成功的。

我找不到错误日志并且没有出现控制台消息

我怎么解决这个问题?

我希望你理解我缺乏英语。

亚历克斯

您不应该以这种方式删除 Hive 表中的分区。有一个特殊的命令可以执行此操作:

ALTER TABLE table_name DROP IF EXISTS PARTITION(partitioncolumn='somevalue');

从HDFS删除文件还不够。您需要清除 Metastore 中的数据。为此,您需要连接到关系数据库并从 MetaStore 数据库中的分区相关表中删除数据。

mysql

mysql> use hive;

mysql> SELECT PART_ID PARTITIONS WHERE PART_NAME like '%p_date=20170228,p_domain=0%'

+---------+-------------+------------------+--------------------+-------+--------+
| PART_ID | CREATE_TIME | LAST_ACCESS_TIME | PART_NAME          | SD_ID | TBL_ID |
+---------+-------------+------------------+--------------------+-------+--------+
|       7 |  1487237959 |                0 | partition name     |   336 |    329 |
+---------+-------------+------------------+--------------------+-------+--------+


mysql> DELETE FROM PARTITIONS WHERE PART_ID=7;

mysql> DELETE FROM PARTITION_KEY_VALS WHERE PART_ID=7;

mysql> DELETE FROM PARTITION_PARAMS WHERE PART_ID=7;

此后 Hive 应停止在查询中使用此分区。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从hdfs中删除文件是否会删除相应的hive外部表分区?

来自分类Dev

Hive外部表无法读取已分区的hdfs目录

来自分类Dev

从HDFS手动删除分区数据后,如何更新Hive中的分区元数据

来自分类Dev

从HDFS手动删除分区数据后,如何更新Hive中的分区元数据

来自分类Dev

HIVE:在HDFS中分区后创建空存储桶

来自分类Dev

删除分区后无法访问Windows分区

来自分类Dev

删除EFI引导分区和Windows分区后无法引导

来自分类Dev

创建HIVE分区表HDFS位置帮助

来自分类Dev

在Hive中删除分区

来自分类Dev

删除Windows分区后无法启动Ubuntu

来自分类Dev

分区后无法登录

来自分类Dev

Hive:无法将数据从未分区表复制到分区表

来自分类Dev

无法删除恢复分区

来自分类Dev

无法删除冗余分区

来自分类Dev

无法删除分区

来自分类Dev

全新安装(升级)后,无法在单独的主分区上删除以前 chmoded 的文件

来自分类Dev

删除分区后无法删除 GNU Grub(不是 GrubRescue!)

来自分类Dev

无法在Hive分区表中加载数据

来自分类Dev

Hive-根据文件路径设置外部表的分区

来自分类Dev

导入到另一个表后,Hive分区文件夹发生更改

来自分类Dev

ubuntu分区删除后,Windows 7无法启动

来自分类Dev

手动删除分区后无法安装Ubuntu

来自分类Dev

删除Windows分区后无法启动到Ubuntu

来自分类Dev

从双启动删除Windows后无法扩展ubuntu分区

来自分类Dev

删除交换内存分区后,无法从加密磁盘启动[issue]

来自分类Dev

插入Hive表-非分区表到分区表-由于列号/类型无法插入目标表

来自分类Dev

插入Hive表-未分区表到分区表-由于列号/类型无法插入目标表

来自分类Dev

无法删除分区上的文件或文件夹

来自分类Dev

删除并合并多个分区后如何恢复文件?

Related 相关文章

  1. 1

    从hdfs中删除文件是否会删除相应的hive外部表分区?

  2. 2

    Hive外部表无法读取已分区的hdfs目录

  3. 3

    从HDFS手动删除分区数据后,如何更新Hive中的分区元数据

  4. 4

    从HDFS手动删除分区数据后,如何更新Hive中的分区元数据

  5. 5

    HIVE:在HDFS中分区后创建空存储桶

  6. 6

    删除分区后无法访问Windows分区

  7. 7

    删除EFI引导分区和Windows分区后无法引导

  8. 8

    创建HIVE分区表HDFS位置帮助

  9. 9

    在Hive中删除分区

  10. 10

    删除Windows分区后无法启动Ubuntu

  11. 11

    分区后无法登录

  12. 12

    Hive:无法将数据从未分区表复制到分区表

  13. 13

    无法删除恢复分区

  14. 14

    无法删除冗余分区

  15. 15

    无法删除分区

  16. 16

    全新安装(升级)后,无法在单独的主分区上删除以前 chmoded 的文件

  17. 17

    删除分区后无法删除 GNU Grub(不是 GrubRescue!)

  18. 18

    无法在Hive分区表中加载数据

  19. 19

    Hive-根据文件路径设置外部表的分区

  20. 20

    导入到另一个表后,Hive分区文件夹发生更改

  21. 21

    ubuntu分区删除后,Windows 7无法启动

  22. 22

    手动删除分区后无法安装Ubuntu

  23. 23

    删除Windows分区后无法启动到Ubuntu

  24. 24

    从双启动删除Windows后无法扩展ubuntu分区

  25. 25

    删除交换内存分区后,无法从加密磁盘启动[issue]

  26. 26

    插入Hive表-非分区表到分区表-由于列号/类型无法插入目标表

  27. 27

    插入Hive表-未分区表到分区表-由于列号/类型无法插入目标表

  28. 28

    无法删除分区上的文件或文件夹

  29. 29

    删除并合并多个分区后如何恢复文件?

热门标签

归档