0

在 HDInsight 群集上,使用 CREATE EXTERNAL 语句创建 Hive 表:

CREATE EXTERNAL TABLE HTable(t1 string, t2 string, t3 string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' STORED AS TEXTFILE LOCATION 'wasb://$containerName@$storageAccountName.blob.core.windows.net/HTable/data/';

然后更改了一些现有文件,将一些文件添加到 CREATE 语句中提到的 Azure Blob 容器。

新的 hive 查询是否会考虑对 Blob 容器所做的更改而无需再次将数据加载到 hive 表?

4

1 回答 1

1

是的,您的表定义保存在 Hive 元存储中。您随后可以简单地查询HTable并且数据将在那里。通常,HDInsight 上的 Hive 遵循适用于 Hive 和 HDFS 的相同规则。

对于更高级的讨论,您可以玩一些技巧,但您需要知道自己在做什么。由于 HDInsight 存储可以在群集生命周期内存活,因此使用 HDInsight 可以拆除群集并重新部署的HDInsight 群集并仍然拥有 Hive 数据。您甚至可以保留 Hive 元存储,作为单独的数据库(SQL Azure DB)。对于基于 HDFS 的集群,集群的回收会导致所有 HDFS 数据丢失。

于 2014-03-27T07:54:50.643 回答