You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by vj...@apache.org on 2020/08/02 18:30:31 UTC
[hbase] branch branch-1 updated: HBASE-24704 Make Table Schema
easier to view with multiple families
This is an automated email from the ASF dual-hosted git repository.
vjasani pushed a commit to branch branch-1
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-1 by this push:
new 9e975d1 HBASE-24704 Make Table Schema easier to view with multiple families
9e975d1 is described below
commit 9e975d1b980d0ef6968ed945f21db1c0016193c5
Author: Zheng Wang <18...@qq.com>
AuthorDate: Sun Aug 2 23:50:51 2020 +0530
HBASE-24704 Make Table Schema easier to view with multiple families
Closes #2185
Signed-off-by: Viraj Jasani <vj...@apache.org>
---
.../main/resources/hbase-webapps/master/table.jsp | 54 +++++++++++++---------
1 file changed, 31 insertions(+), 23 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 3d5e230..1f160ea 100644
--- a/hbase-server/src/main/resources/hbase-webapps/master/table.jsp
+++ b/hbase-server/src/main/resources/hbase-webapps/master/table.jsp
@@ -27,6 +27,8 @@
import="java.util.List"
import="java.util.LinkedHashMap"
import="java.util.Map"
+ import="java.util.Set"
+ import="java.util.HashSet"
import="java.util.Collections"
import="java.util.Collection"
import="org.apache.commons.lang.StringEscapeUtils"
@@ -45,6 +47,7 @@
import="org.apache.hadoop.hbase.zookeeper.MetaTableLocator"
import="org.apache.hadoop.hbase.util.Bytes"
import="org.apache.hadoop.hbase.util.FSUtils"
+ import="org.apache.hadoop.hbase.io.ImmutableBytesWritable"
import="org.apache.hadoop.hbase.regionserver.compactions.CompactionRequest"
import="org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState"
import="org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos"
@@ -417,40 +420,45 @@ if ( fqtn != null ) {
</table>
<h2>Table Schema</h2>
<table class="table table-striped">
+<%
+ Collection<HColumnDescriptor> families = table.getTableDescriptor().getFamilies();
+ Set<ImmutableBytesWritable> familyKeySet = new HashSet<>();
+ for (HColumnDescriptor family: families) {
+ familyKeySet.addAll(family.getValues().keySet());
+ }
+%>
<tr>
- <th>Column Family Name</th>
- <th></th>
- </tr>
- <%
- Collection<HColumnDescriptor> families = table.getTableDescriptor().getFamilies();
+ <th>Property \ Column Family Name</th>
+ <%
for (HColumnDescriptor family: families) {
- %>
- <tr>
- <td><%= StringEscapeUtils.escapeHtml(family.getNameAsString()) %></td>
- <td>
- <table class="table table-striped">
- <tr>
- <th>Property</th>
- <th>Value</th>
- </tr>
+ %>
+ <th>
+ <%= StringEscapeUtils.escapeHtml(family.getNameAsString()) %>
+ </th>
+ <% } %>
+ </tr>
<%
- Map<ImmutableBytesWritable, ImmutableBytesWritable> familyValues = family.getValues();
- for (ImmutableBytesWritable familyKey: familyValues.keySet()) {
- final ImmutableBytesWritable familyValue = familyValues.get(familyKey);
+ for (ImmutableBytesWritable familyKey: familyKeySet) {
%>
<tr>
<td>
<%= StringEscapeUtils.escapeHtml(Bytes.toString(familyKey.get(), familyKey.getOffset(), familyKey.getLength())) %>
- </td>
+ </td>
+ <%
+ for (HColumnDescriptor family: families) {
+ String familyValueStr = "-";
+ Map<ImmutableBytesWritable, ImmutableBytesWritable> familyValues = family.getValues();
+ if(familyValues.containsKey(familyKey)){
+ final ImmutableBytesWritable familyValue = familyValues.get(familyKey);
+ familyValueStr = Bytes.toString(familyValue.get(), familyValue.getOffset(), familyValue.getLength());
+ }
+ %>
<td>
- <%= StringEscapeUtils.escapeHtml(Bytes.toString(familyValue.get(), familyValue.getOffset(), familyValue.getLength())) %>
+ <%= StringEscapeUtils.escapeHtml(familyValueStr) %>
</td>
+ <% } %>
</tr>
<% } %>
- </table>
- </td>
- </tr>
- <% } %>
</table>
<%
long totalReadReq = 0;