2015-02-09 110 views

回答

0

索引是新的且正在发展(功能正在添加),但目前索引仅限于单个表并且无法使用与外部表创建索引创建一个单独的表可以对索引进行分区(匹配基表的分区)索引用于加快表中数据的搜索速度

分区提供数据分离hdfs级别,为每个分区创建子目录。分区允许在查询中读取的文件数量和数据量受到限制。但是,出现这种情况时,必须在您的WHERE中指定分区列条款。

在构建数据模型时,您可以根据数据大小和预期使用模式来确定索引和/或分区的最佳用法。

2

Sonia以下是本书可能对您有用的部分。 “Hive的索引功能有限,在通常的关系数据库意义上没有键,但是你可以在列上建立一个索引来加速某些操作,表的索引数据被存储在另一个表中 此外,该功能是相对较新,所以它没有很多选择,但是,索引过程可以通过插件Java代码进行定制,所以团队可以扩展功能以满足他们的需求。当逻辑分区实际上太多而且很少有用时,对其进行分区索引可以帮助修剪表中的某些块作为MapReduce作业的输入不是所有的查询都可以从索引中获益 - EXPLAIN语法和Hive可以用于确定给定查询是否由索引帮助 Hive中的索引与关系数据库中的索引类似,需要进行评估carefull y。 维护一个索引需要额外的磁盘空间,构建一个索引需要一定的处理成本。用户必须权衡这些成本与他们在查询表格时所提供的好处。“ 编程Hive手册Page 117

相关问题