FAILED:SemanticException [错误10001]

时间:2014-04-04 18:34:20

标签: hadoop hive hdinsight

我们创建了一个与blob存储帐户关联的HDinsight群集,然后我们创建了hive表并使用hive查询加入了它,没有任何问题。 但要删除群集并创建一个新群集(与相同的blob存储相关联),hive表将从此处不可见。当我们运行配置单元查询时,我们有以下错误消息:

  

使用文件中的配置初始化日志:/ C:/apps/dist/hive-0.12.0.2.0.7.0-1559/conf/hive-log4j.properties FAILED:SemanticException [错误10001]:行1:14表找不到'tableName'

从群集创建的配置单表是否可以在另一个中运行而没有问题? 或者,如果在集群中创建表,则在另一个表中不起作用?

谢谢。

1 个答案:

答案 0 :(得分:0)

是的,存储的Hive表信息是Metastore。 Metastore设计用于连接到不同的HDInsight群集。以下是使其发挥作用的一般程序:

  1. 创建一个HDInsight群集,其中指定了Hive Metastore,并创建了一个或多个用于数据存储的其他存储帐户。
  2. 创建指向存储在这些附加存储帐户中的数据的外部Hive表。
  3. 删除群集。
  4. 使用相同的Hive Metastore创建另一个HDInsight,并使用相同的附加存储帐户。 Hive表在新的HDInsight群集上可见。
  5. 您也应该能够使用Hive内部表。 Hive内部表将数据存储在默认存储帐户中。创建新群集时,必须使用相同的存储帐户和相同的Metastore。我自己没有测试过内部的hive表场景。

    希望有所帮助。