You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hawq.apache.org by ka...@apache.org on 2017/05/01 16:49:53 UTC

incubator-hawq git commit: HAWQ-1440. Support ANALYZE for all Hive External Tables

Repository: incubator-hawq
Updated Branches:
  refs/heads/master e082d3adb -> 0a754883f


HAWQ-1440. Support ANALYZE for all Hive External Tables


Project: http://git-wip-us.apache.org/repos/asf/incubator-hawq/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-hawq/commit/0a754883
Tree: http://git-wip-us.apache.org/repos/asf/incubator-hawq/tree/0a754883
Diff: http://git-wip-us.apache.org/repos/asf/incubator-hawq/diff/0a754883

Branch: refs/heads/master
Commit: 0a754883f2b9c02e6c85a50e1aa82d853791d09e
Parents: e082d3a
Author: Kavinder Dhaliwal <ka...@gmail.com>
Authored: Tue Apr 25 15:14:47 2017 -0700
Committer: Kavinder Dhaliwal <ka...@gmail.com>
Committed: Mon May 1 09:46:44 2017 -0700

----------------------------------------------------------------------
 .../apache/hawq/pxf/plugins/hive/HiveDataFragmenter.java | 11 +++++++++--
 .../hawq/pxf/plugins/hive/HiveInputFormatFragmenter.java |  2 +-
 2 files changed, 10 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/0a754883/pxf/pxf-hive/src/main/java/org/apache/hawq/pxf/plugins/hive/HiveDataFragmenter.java
----------------------------------------------------------------------
diff --git a/pxf/pxf-hive/src/main/java/org/apache/hawq/pxf/plugins/hive/HiveDataFragmenter.java b/pxf/pxf-hive/src/main/java/org/apache/hawq/pxf/plugins/hive/HiveDataFragmenter.java
index a03d3b7..9cf8f27 100644
--- a/pxf/pxf-hive/src/main/java/org/apache/hawq/pxf/plugins/hive/HiveDataFragmenter.java
+++ b/pxf/pxf-hive/src/main/java/org/apache/hawq/pxf/plugins/hive/HiveDataFragmenter.java
@@ -466,7 +466,14 @@ public class HiveDataFragmenter extends Fragmenter {
      */
     @Override
     public FragmentsStats getFragmentsStats() throws Exception {
-        throw new UnsupportedOperationException(
-                "ANALYZE for Hive plugin is not supported");
+        Metadata.Item tblDesc = HiveUtilities.extractTableFromName(inputData.getDataSource());
+        Table tbl = HiveUtilities.getHiveTable(client, tblDesc);
+        Metadata metadata = new Metadata(tblDesc);
+        HiveUtilities.getSchema(tbl, metadata);
+
+        long split_count = Long.parseLong(tbl.getParameters().get("numFiles"));
+        long totalSize = Long.parseLong(tbl.getParameters().get("totalSize"));
+        long firstFragmentSize = totalSize / split_count;
+        return new FragmentsStats(split_count, firstFragmentSize, totalSize);
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/0a754883/pxf/pxf-hive/src/main/java/org/apache/hawq/pxf/plugins/hive/HiveInputFormatFragmenter.java
----------------------------------------------------------------------
diff --git a/pxf/pxf-hive/src/main/java/org/apache/hawq/pxf/plugins/hive/HiveInputFormatFragmenter.java b/pxf/pxf-hive/src/main/java/org/apache/hawq/pxf/plugins/hive/HiveInputFormatFragmenter.java
index 9199118..b133e1d 100644
--- a/pxf/pxf-hive/src/main/java/org/apache/hawq/pxf/plugins/hive/HiveInputFormatFragmenter.java
+++ b/pxf/pxf-hive/src/main/java/org/apache/hawq/pxf/plugins/hive/HiveInputFormatFragmenter.java
@@ -121,6 +121,6 @@ public class HiveInputFormatFragmenter extends HiveDataFragmenter {
      */
     @Override
     public FragmentsStats getFragmentsStats() throws Exception {
-        throw new UnsupportedOperationException("ANALYZE for HiveRc, HiveText, and HiveOrc plugins is not supported");
+        return  super.getFragmentsStats();
     }
 }