在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容器中。
新的配置单元查询是否考虑对Blob容器进行的更改而不再将数据加载到配置单元表?
答案 0 :(得分:1)
是的,您的表定义保存在Hive Metastore中。您随后可以简单地查询HTable
,数据就在那里。通常,HDInsight上的Hive遵循适用于Hive和HDFS的相同规则。
对于更高级的讨论,你可以玩一些技巧,但你需要知道你在做什么。由于HDInsight存储可以在群集生存期内存活,因此使用HDInsight可以拆除群集并重新部署新的 HDInsight群集,并且仍然具有Hive数据。您甚至可以保留Hive Metastore,就像一个单独的数据库(SQL Azure DB)一样。使用基于HDFS的群集时,群集的循环会导致所有HDFS数据丢失。