From 44823041a37601fed8163502272a8fcb7a5be45d Mon Sep 17 00:00:00 2001 From: hongdd Date: Tue, 26 Nov 2019 03:31:07 +0800 Subject: [PATCH] [HUDI-362] Adds a check for the existence of field (#1047) --- .../src/main/java/org/apache/hudi/cli/HoodiePrintHelper.java | 4 ++++ hudi-cli/src/main/java/org/apache/hudi/cli/TableHeader.java | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/hudi-cli/src/main/java/org/apache/hudi/cli/HoodiePrintHelper.java b/hudi-cli/src/main/java/org/apache/hudi/cli/HoodiePrintHelper.java index 635097f8a..3cce30140 100644 --- a/hudi-cli/src/main/java/org/apache/hudi/cli/HoodiePrintHelper.java +++ b/hudi-cli/src/main/java/org/apache/hudi/cli/HoodiePrintHelper.java @@ -59,6 +59,10 @@ public class HoodiePrintHelper { return HoodiePrintHelper.print(rowHeader); } + if (!sortByField.isEmpty() && !rowHeader.containsField(sortByField)) { + return String.format("Field[%s] is not in table, given columns[%s]", sortByField, rowHeader.getFieldNames()); + } + Table table = new Table(rowHeader, fieldNameToConverterMap, Option.ofNullable(sortByField.isEmpty() ? null : sortByField), Option.ofNullable(isDescending), Option.ofNullable(limit <= 0 ? null : limit)).addAllRows(rows).flip(); diff --git a/hudi-cli/src/main/java/org/apache/hudi/cli/TableHeader.java b/hudi-cli/src/main/java/org/apache/hudi/cli/TableHeader.java index 0472b0f73..e257e36a1 100644 --- a/hudi-cli/src/main/java/org/apache/hudi/cli/TableHeader.java +++ b/hudi-cli/src/main/java/org/apache/hudi/cli/TableHeader.java @@ -68,4 +68,8 @@ public class TableHeader { public int getNumFields() { return fieldNames.size(); } + + public boolean containsField(String fieldName) { + return fieldNames.contains(fieldName); + } }