Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.0.0, 1.2.1, 1.3.0, 2.0.0
-
None
Description
Hive 1.0's fetch optimizer tries to optimize queries of the form "select <C> from <T> where <F> limit <L>" to a fetch task (see the hive.fetch.task.conversion property). This optimization gets the lengths of all the files in the specified partition and does some comparison against a threshold value to determine whether it should use a fetch task or not (see the hive.fetch.task.conversion.threshold property). This process of getting the length of all files. One of the main problems in this optimization is the fetch optimizer doesn't seem to stop once it exceeds the hive.fetch.task.conversion.threshold. It works fine on HDFS, but could cause a significant performance degradation on other supported file systems.