This is an automated email from the ASF dual-hosted git repository. vjasani pushed a commit to branch branch-2.3 in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2.3 by this push: new 52c7303 HBASE-24704 Make Table Schema easier to view with multiple families 52c7303 is described below commit 52c7303342076967e04f222612afb56aca800d79 Author: Zheng Wang <18031...@qq.com> AuthorDate: Sun Aug 2 23:33:31 2020 +0530 HBASE-24704 Make Table Schema easier to view with multiple families Closes #2182 Signed-off-by: Viraj Jasani <vjas...@apache.org> --- .../main/resources/hbase-webapps/master/table.jsp | 64 ++++++++++++---------- 1 file changed, 35 insertions(+), 29 deletions(-) diff --git a/hbase-server/src/main/resources/hbase-webapps/master/table.jsp b/hbase-server/src/main/resources/hbase-webapps/master/table.jsp index f9bbc47..c917f4f 100644 --- a/hbase-server/src/main/resources/hbase-webapps/master/table.jsp +++ b/hbase-server/src/main/resources/hbase-webapps/master/table.jsp @@ -25,12 +25,13 @@ import="java.util.LinkedHashMap" import="java.util.List" import="java.util.Map" + import="java.util.Set" + import="java.util.HashSet" import="java.util.Optional" import="java.util.TreeMap" import="java.util.concurrent.TimeUnit" import="org.apache.commons.lang3.StringEscapeUtils" import="org.apache.hadoop.conf.Configuration" - import="org.apache.hadoop.hbase.HColumnDescriptor" import="org.apache.hadoop.hbase.HConstants" import="org.apache.hadoop.hbase.HRegionLocation" import="org.apache.hadoop.hbase.HTableDescriptor" @@ -51,6 +52,7 @@ import="org.apache.hadoop.hbase.client.RegionLocator" import="org.apache.hadoop.hbase.client.RegionReplicaUtil" import="org.apache.hadoop.hbase.client.Table" + import="org.apache.hadoop.hbase.client.ColumnFamilyDescriptor" import="org.apache.hadoop.hbase.http.InfoServer" import="org.apache.hadoop.hbase.master.HMaster" import="org.apache.hadoop.hbase.master.RegionState" @@ -683,39 +685,43 @@ </table> <h2>Table Schema</h2> <table class="table table-striped"> + <% + ColumnFamilyDescriptor[] families = table.getDescriptor().getColumnFamilies(); + Set<Bytes> familyKeySet = new HashSet<>(); + for (ColumnFamilyDescriptor family: families) { + familyKeySet.addAll(family.getValues().keySet()); + } + %> <tr> - <th>Column Family Name</th> - <th></th> + <th>Property \ Column Family Name</th> + <% + for (ColumnFamilyDescriptor family: families) { + %> + <th> + <%= StringEscapeUtils.escapeHtml4(family.getNameAsString()) %> + </th> + <% } %> </tr> - <% - Collection<HColumnDescriptor> families = table.getTableDescriptor().getFamilies(); - for (HColumnDescriptor family: families) { - %> - <tr> - <td><%= StringEscapeUtils.escapeHtml4(family.getNameAsString()) %></td> - <td> - <table class="table table-striped"> - <tr> - <th>Property</th> - <th>Value</th> - </tr> + <% + for (Bytes familyKey: familyKeySet) { + %> + <tr> + <td> + <%= StringEscapeUtils.escapeHtml4(familyKey.toString()) %> + </td> <% - Map<Bytes, Bytes> familyValues = family.getValues(); - for (Bytes familyKey: familyValues.keySet()) { + for (ColumnFamilyDescriptor family: families) { + String familyValue = "-"; + if(family.getValues().containsKey(familyKey)){ + familyValue = family.getValues().get(familyKey).toString(); + } %> - <tr> - <td> - <%= StringEscapeUtils.escapeHtml4(familyKey.toString()) %> - </td> - <td> - <%= StringEscapeUtils.escapeHtml4(familyValues.get(familyKey).toString()) %> - </td> - </tr> + <td> + <%= StringEscapeUtils.escapeHtml4(familyValue) %> + </td> <% } %> - </table> - </td> - </tr> - <% } %> + </tr> + <% } %> </table> <% long totalReadReq = 0;