You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@parquet.apache.org by sh...@apache.org on 2022/12/03 18:36:25 UTC

[parquet-mr] branch master updated: PARQUET-2177: Fix parquet-cli not to fail showing descriptions (#991)

This is an automated email from the ASF dual-hosted git repository.

shangxinli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/parquet-mr.git


The following commit(s) were added to refs/heads/master by this push:
     new c8c6386f8 PARQUET-2177: Fix parquet-cli not to fail showing descriptions (#991)
c8c6386f8 is described below

commit c8c6386f836587cf527a56ff5741a48d40a979cb
Author: Kengo Seki <se...@apache.org>
AuthorDate: Sun Dec 4 03:36:18 2022 +0900

    PARQUET-2177: Fix parquet-cli not to fail showing descriptions (#991)
---
 parquet-cli/src/main/java/org/apache/parquet/cli/Help.java | 11 +++++++----
 .../apache/parquet/cli/commands/ColumnMaskingCommand.java  | 14 +++++++++-----
 .../apache/parquet/cli/commands/PruneColumnsCommand.java   |  8 ++++----
 3 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/parquet-cli/src/main/java/org/apache/parquet/cli/Help.java b/parquet-cli/src/main/java/org/apache/parquet/cli/Help.java
index c41c881d3..0cb534e12 100644
--- a/parquet-cli/src/main/java/org/apache/parquet/cli/Help.java
+++ b/parquet-cli/src/main/java/org/apache/parquet/cli/Help.java
@@ -59,10 +59,13 @@ public class Help implements Command {
         }
 
         boolean hasRequired = false;
-        console.info("\nUsage: {} [general options] {} {} [command options]",
-            new Object[] {
-                programName, cmd,
-                commander.getMainParameterDescription()});
+        if (commander.getParameters().stream().anyMatch(p -> p.getNames().isEmpty())) {
+          console.info("\nUsage: {} [general options] {} {} [command options]",
+            new Object[] { programName, cmd, commander.getMainParameterDescription() });
+        } else {
+          console.info("\nUsage: {} [general options] {} [command options]",
+            new Object[] { programName, cmd });
+        }
         console.info("\n  Description:");
         console.info("\n    {}", jc.getCommandDescription(cmd));
         if (!commander.getParameters().isEmpty()) {
diff --git a/parquet-cli/src/main/java/org/apache/parquet/cli/commands/ColumnMaskingCommand.java b/parquet-cli/src/main/java/org/apache/parquet/cli/commands/ColumnMaskingCommand.java
index a0b37a17b..3ef90c189 100644
--- a/parquet-cli/src/main/java/org/apache/parquet/cli/commands/ColumnMaskingCommand.java
+++ b/parquet-cli/src/main/java/org/apache/parquet/cli/commands/ColumnMaskingCommand.java
@@ -53,22 +53,26 @@ public class ColumnMaskingCommand extends BaseCommand {
 
   @Parameter(
     names = {"-m", "--mode"},
-    description = "<mask mode: nullify>")
+    description = "<mask mode: nullify>",
+    required = true)
   String mode;
 
   @Parameter(
     names = {"-i", "--input"},
-    description = "<input parquet file path>")
+    description = "<input parquet file path>",
+    required = true)
   String input;
 
   @Parameter(
     names = {"-o", "--output"},
-    description = "<output parquet file path>")
+    description = "<output parquet file path>",
+    required = true)
   String output;
 
   @Parameter(
     names = {"-c", "--columns"},
-    description = "<columns to be replaced with masked value>")
+    description = "<columns to be replaced with masked value>",
+    required = true)
   List<String> cols;
 
   @Override
@@ -104,7 +108,7 @@ public class ColumnMaskingCommand extends BaseCommand {
   public List<String> getExamples() {
     return Lists.newArrayList(
         "# Replace columns with masked values and write to a new Parquet file",
-        " -m nullify -i input.parquet -o output.parquet -c col1_name"
+        "-m nullify -i input.parquet -o output.parquet -c col1_name"
     );
   }
 }
diff --git a/parquet-cli/src/main/java/org/apache/parquet/cli/commands/PruneColumnsCommand.java b/parquet-cli/src/main/java/org/apache/parquet/cli/commands/PruneColumnsCommand.java
index a38b68fb7..3c238f32a 100644
--- a/parquet-cli/src/main/java/org/apache/parquet/cli/commands/PruneColumnsCommand.java
+++ b/parquet-cli/src/main/java/org/apache/parquet/cli/commands/PruneColumnsCommand.java
@@ -41,19 +41,19 @@ public class PruneColumnsCommand extends BaseCommand {
   @Parameter(
     names = {"-i", "--input"},
     description = "<input parquet file path>",
-    required = false)
+    required = true)
   String input;
 
   @Parameter(
     names = {"-o", "--output"},
     description = "<output parquet file path>",
-    required = false)
+    required = true)
   String output;
 
   @Parameter(
     names = {"-c", "--columns"},
     description = "<columns to be replaced with masked value>",
-    required = false)
+    required = true)
   List<String> cols;
 
   @Override
@@ -75,7 +75,7 @@ public class PruneColumnsCommand extends BaseCommand {
   public List<String> getExamples() {
     return Lists.newArrayList(
       "# Removes specified columns and write to a new Parquet file",
-      " -i input.parquet -o output.parquet -c col1_name"
+      "-i input.parquet -o output.parquet -c col1_name"
     );
   }
 }