【问题标题】:Impala can't access all hive tableImpala 无法访问所有配置单元表
【发布时间】:2013-12-28 07:25:35
【问题描述】:

我尝试通过 hive 查询 hbase 数据(我正在使用 cloudera)。我做了一个指向 hbase 的蜂巢外部表,但问题是 Cloudera 的 Impala 无法访问所有这些表。所有 hive 外部表都出现在 Metastore 管理器中,但是当我在 Impala 中执行简单的“显示表”时,我发现缺少 3 个表。 会不会是特权问题?我在 Metastore 管理器中看到,每个人都可以读取缺少的 3 个表,所以......

【问题讨论】:

  • 虽然接受的答案仍然有效,但我根据更新的版本添加了updated answer

标签: hadoop hive cloudera hue impala


【解决方案1】:

在 Impala 中运行查询“无效元数据”,您的表格将显示出来。

【讨论】:

  • 你又是对的。有没有办法自动化配置中的“无效元数据”?无论如何,非常感谢你给了我等待的答案:)
  • 如果通过 impala 添加表,则不需要使元数据无效。
  • 嘿,我们如何在 Hive 或 shell 脚本中自动执行此操作,以便我们可以在 Oozie/Hue 中使用。谢谢
  • hadoopjournal.wordpress.com/2015/12/06/…community.cloudera.com/t5/tkb/articleprintpage/tkb-id/… 很有帮助,所以我想添加为其他人的评论。是的,它解决了我的问题。
【解决方案2】:

尽管 impala 中的 INVALIDATE METADATA 命令在 it is documented to be expensive 中有效,但在最近的版本中,现在可以仅使 1 个表的元数据无效,这将产生较小的影响:

INVALIDATE METADATA mynewtable

或者,如果您使用 HUE,也可以使用更便宜的选项。如果您添加了多个新表,这可能会很方便:

【讨论】:

    【解决方案3】:

    下面是?在线帮助说明: 缺少一些表?为了更新 Impala 看到的表/元数据列表,请执行以下查询之一:

    "invalidate metadata" invalidates the entire catalog metadata. All table metadata will be reloaded on the next access.
    "invalidate metadata <table>" invalidates the metadata, load on the next access
    "refresh <table>" refreshes the metadata immediately. It is a faster, incremental refresh.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多