Fix partition bug in hive storage
Project: http://git-wip-us.apache.org/repos/asf/incubator-drill/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-drill/commit/b094c443 Tree: http://git-wip-us.apache.org/repos/asf/incubator-drill/tree/b094c443 Diff: http://git-wip-us.apache.org/repos/asf/incubator-drill/diff/b094c443 Branch: refs/heads/master Commit: b094c4438e92f2a1da8b01b8866193e2f641d252 Parents: 08837cd Author: Steven Phillips <sphill...@maprtech.com> Authored: Sat Aug 30 23:03:34 2014 -0700 Committer: Jacques Nadeau <jacq...@apache.org> Committed: Sun Aug 31 10:27:26 2014 -0700 ---------------------------------------------------------------------- .../main/java/org/apache/drill/exec/store/hive/HiveScan.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/b094c443/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveScan.java ---------------------------------------------------------------------- diff --git a/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveScan.java b/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveScan.java index 451a5c3..ef861d0 100644 --- a/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveScan.java +++ b/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveScan.java @@ -39,6 +39,7 @@ import org.apache.drill.exec.physical.base.ScanStats.GroupScanProperty; import org.apache.drill.exec.proto.CoordinationProtos; import org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint; import org.apache.drill.exec.store.StoragePluginRegistry; +import org.apache.drill.exec.store.hive.HiveTable.HivePartition; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.hive.metastore.MetaStoreUtils; @@ -209,16 +210,17 @@ public class HiveScan extends AbstractGroupScan { public SubScan getSpecificScan(int minorFragmentId) throws ExecutionSetupException { try { List<InputSplit> splits = mappings.get(minorFragmentId); - List<Partition> parts = Lists.newArrayList(); + List<HivePartition> parts = Lists.newArrayList(); List<String> encodedInputSplits = Lists.newArrayList(); List<String> splitTypes = Lists.newArrayList(); for (InputSplit split : splits) { - parts.add(partitionMap.get(split)); + parts.add(new HiveTable.HivePartition(partitionMap.get(split))); encodedInputSplits.add(serializeInputSplit(split)); splitTypes.add(split.getClass().getCanonicalName()); } if (parts.contains(null)) parts = null; - return new HiveSubScan(encodedInputSplits, hiveReadEntry, splitTypes, columns); + HiveReadEntry subEntry = new HiveReadEntry(hiveReadEntry.table, parts, hiveReadEntry.hiveConfigOverride); + return new HiveSubScan(encodedInputSplits, subEntry, splitTypes, columns); } catch (IOException | ReflectiveOperationException e) { throw new ExecutionSetupException(e); }