You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@orc.apache.org by om...@apache.org on 2016/05/26 20:50:29 UTC

[3/3] orc git commit: Copying patch for HIVE-13332.

Copying patch for HIVE-13332.

Signed-off-by: Owen O'Malley <om...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/orc/repo
Commit: http://git-wip-us.apache.org/repos/asf/orc/commit/bfbdc504
Tree: http://git-wip-us.apache.org/repos/asf/orc/tree/bfbdc504
Diff: http://git-wip-us.apache.org/repos/asf/orc/diff/bfbdc504

Branch: refs/heads/master
Commit: bfbdc504afd13e95a737824dd5e8bb0001eb33c8
Parents: 7bde940
Author: Owen O'Malley <om...@apache.org>
Authored: Thu May 26 13:39:13 2016 -0700
Committer: Owen O'Malley <om...@apache.org>
Committed: Thu May 26 13:48:31 2016 -0700

----------------------------------------------------------------------
 .../src/java/org/apache/orc/tools/FileDump.java | 24 +++++++++++++++-----
 .../java/org/apache/orc/tools/JsonFileDump.java | 10 ++++++--
 2 files changed, 26 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/orc/blob/bfbdc504/java/core/src/java/org/apache/orc/tools/FileDump.java
----------------------------------------------------------------------
diff --git a/java/core/src/java/org/apache/orc/tools/FileDump.java b/java/core/src/java/org/apache/orc/tools/FileDump.java
index e32027f..1a1d8ab 100644
--- a/java/core/src/java/org/apache/orc/tools/FileDump.java
+++ b/java/core/src/java/org/apache/orc/tools/FileDump.java
@@ -96,7 +96,7 @@ public final class FileDump {
   public static void main(String[] args) throws Exception {
     Configuration conf = new Configuration();
 
-    List<Integer> rowIndexCols = null;
+    List<Integer> rowIndexCols = new ArrayList<Integer>(0);
     Options opts = createOptions();
     CommandLine cli = new GnuParser().parse(opts, args);
 
@@ -115,10 +115,15 @@ public final class FileDump {
     }
 
     if (cli.hasOption("r")) {
-      String[] colStrs = cli.getOptionValue("r").split(",");
-      rowIndexCols = new ArrayList<Integer>(colStrs.length);
-      for (String colStr : colStrs) {
-        rowIndexCols.add(Integer.parseInt(colStr));
+      String val = cli.getOptionValue("r");
+      if (val != null && val.trim().equals("*")) {
+        rowIndexCols = null; // All the columns
+      } else {
+        String[] colStrs = cli.getOptionValue("r").split(",");
+        rowIndexCols = new ArrayList<Integer>(colStrs.length);
+        for (String colStr : colStrs) {
+          rowIndexCols.add(Integer.parseInt(colStr));
+        }
       }
     }
 
@@ -317,7 +322,7 @@ public final class FileDump {
   }
 
   private static void printMetaDataImpl(final String filename,
-      final Configuration conf, final List<Integer> rowIndexCols, final boolean printTimeZone,
+      final Configuration conf, List<Integer> rowIndexCols, final boolean printTimeZone,
       final List<String> corruptFiles) throws IOException {
     Path file = new Path(filename);
     Reader reader = getReader(file, conf, corruptFiles);
@@ -348,6 +353,12 @@ public final class FileDump {
     }
     ColumnStatistics[] stats = reader.getStatistics();
     int colCount = stats.length;
+    if (rowIndexCols == null) {
+      rowIndexCols = new ArrayList<>(colCount);
+      for (int i = 0; i < colCount; ++i) {
+        rowIndexCols.add(i);
+      }
+    }
     System.out.println("\nFile Statistics:");
     for (int i = 0; i < stats.length; ++i) {
       System.out.println("  Column " + i + ": " + stats[i].toString());
@@ -712,6 +723,7 @@ public final class FileDump {
     return paddedBytes;
   }
 
+  @SuppressWarnings("static-access")
   static Options createOptions() {
     Options result = new Options();
 

http://git-wip-us.apache.org/repos/asf/orc/blob/bfbdc504/java/core/src/java/org/apache/orc/tools/JsonFileDump.java
----------------------------------------------------------------------
diff --git a/java/core/src/java/org/apache/orc/tools/JsonFileDump.java b/java/core/src/java/org/apache/orc/tools/JsonFileDump.java
index 75153a2..e2048ea 100644
--- a/java/core/src/java/org/apache/orc/tools/JsonFileDump.java
+++ b/java/core/src/java/org/apache/orc/tools/JsonFileDump.java
@@ -18,6 +18,7 @@
 package org.apache.orc.tools;
 
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
 
@@ -114,6 +115,12 @@ public class JsonFileDump {
 
         ColumnStatistics[] stats = reader.getStatistics();
         int colCount = stats.length;
+        if (rowIndexCols == null) {
+          rowIndexCols = new ArrayList<>(colCount);
+          for (int i = 0; i < colCount; ++i) {
+            rowIndexCols.add(i);
+          }
+        }
         writer.key("fileStatistics").array();
         for (int i = 0; i < stats.length; ++i) {
           writer.object();
@@ -165,8 +172,7 @@ public class JsonFileDump {
             writer.endObject();
           }
           writer.endArray();
-
-          if (rowIndexCols != null && !rowIndexCols.isEmpty()) {
+          if (!rowIndexCols.isEmpty()) {
             // include the columns that are specified, only if the columns are included, bloom filter
             // will be read
             boolean[] sargColumns = new boolean[colCount];