Github user akashrn5 commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/2882#discussion_r230637639
--- Diff:
tools/cli/src/main/java/org/apache/carbondata/tool/DataSummary.java ---
@@ -311,26 +309,39 @@ private void printColumnStats(String columnName)
throws IOException, MemoryExcep
max = new String(blockletMax,
Charset.forName(DEFAULT_CHARSET));
}
} else {
- minPercent = String.format("%.1f",
blocklet.getColumnChunk().getMinPercentage() * 100);
- maxPercent = String.format("%.1f",
blocklet.getColumnChunk().getMaxPercentage() * 100);
+ // for complex columns min and max and percentage
+ if
(blocklet.getColumnChunk().column.getColumnName().contains(".val") ||
+
blocklet.getColumnChunk().column.getColumnName().contains(".")) {
+ minPercent = "NA";
+ maxPercent = "NA";
+ } else {
+ minPercent =
+ String.format("%.1f",
Math.abs(blocklet.getColumnChunk().getMinPercentage() * 100));
+ maxPercent =
+ String.format("%.1f",
Math.abs(blocklet.getColumnChunk().getMaxPercentage() * 100));
+ }
DataFile.ColumnChunk columnChunk = blocklet.columnChunk;
- if (columnChunk.column.isDimensionColumn() && DataTypeUtil
+ // need to consider no dictionary complex column
+ if (columnChunk.column.hasEncoding(Encoding.DICTIONARY) ||
blocklet
+ .getColumnChunk().column.getColumnName().contains(".val") ||
blocklet
--- End diff --
handled, please review
---