【问题标题】:Hive table not recognising partitionHive 表无法识别分区
【发布时间】:2019-08-28 23:46:49
【问题描述】:

我的 hive 表使用列“job_id”进行分区。当我将数据转储到表的 hdfs 位置时,它正在创建一个名为“JOB_ID”的分区,而我的 hive 表无法识别它。

我尝试过 msck repair table 命令,但也没有用。

【问题讨论】:

  • 你能澄清一下“将数据转储到 hdfs 位置”是什么意思吗?您是否将一些文件放在 HDFS 中,然后在其上创建外部 Hive 表?
  • 分区文件夹名称应该是key=value,例如job_id=123456,而不仅仅是job_id
  • @serge_k 是的,hdfs 位置中有文件,hive 表指向该位置。
  • @leftjoin 就像 job_id=927
  • 请添加带有位置的表DDL和hadoop fs -ls 的结果

标签: hive bigdata partitioning


【解决方案1】:

对于外部 Hive 表,您需要手动添加新分区,如下所示:

ALTER TABLE table_name ADD PARTITION (job_id='927') location 'hdfs://some_location/job_id=927'

【讨论】:

    【解决方案2】:

    我发现分区名称应该总是小写字母。 链接在这里: https://medium.com/a-muggles-pensieve/hive-partition-column-name-camelcase-bad-idea-bc203d6e65da

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多