All Downloads are FREE. Search and download functionalities are using the official Maven repository.

webapps.admin.catalogview.jsp Maven / Gradle / Ivy

There is a newer version: 0.11.3
Show newest version
<%
  /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
  * regarding copyright ownership. The ASF licenses this file
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License. You may obtain a copy of the License at
  *
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<%@ page import="org.apache.tajo.catalog.CatalogService" %>
<%@ page import="org.apache.tajo.catalog.Column" %>
<%@ page import="org.apache.tajo.catalog.TableDesc" %>
<%@ page import="org.apache.tajo.catalog.partition.PartitionMethodDesc" %>
<%@ page import="org.apache.tajo.master.TajoMaster" %>
<%@ page import="org.apache.tajo.service.ServiceTracker" %>
<%@ page import="org.apache.tajo.util.FileUtil" %>
<%@ page import="org.apache.tajo.webapp.StaticHttpServer" %>
<%@ page import="java.util.Collection" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.Map" %>
<%@ page import="java.net.InetSocketAddress" %>
<%
  TajoMaster master = (TajoMaster) StaticHttpServer.getInstance().getAttribute("tajo.info.server.object");

  String[] masterName = master.getMasterName().split(":");
  InetSocketAddress socketAddress = new InetSocketAddress(masterName[0], Integer.parseInt(masterName[1]));
  String masterLabel = socketAddress.getAddress().getHostName()+ ":" + socketAddress.getPort();

  CatalogService catalog = master.getCatalog();

  String catalogType = request.getParameter("type");
  if(catalogType != null && "function".equals(catalogType)) {
%>

    return;
<%
  }
  String selectedDatabase = request.getParameter("database");
  if(selectedDatabase == null || selectedDatabase.trim().isEmpty()) {
    selectedDatabase = "default";
  }

  TableDesc tableDesc = null;
  String selectedTable = request.getParameter("table");
  if(selectedTable != null && !selectedTable.trim().isEmpty()) {
    tableDesc = catalog.getTableDesc(selectedDatabase, selectedTable);
  } else {
    selectedTable = "";
  }

  //TODO filter with database
  Collection tableNames = catalog.getAllTableNames(selectedDatabase);

  ServiceTracker haService = master.getContext().getHAService();
  String activeLabel = "";
  if (haService != null) {
    if (haService.isActiveMaster()) {
      activeLabel = "(active)";
    } else {
      activeLabel = "(backup)";
    }
  }
%>




  
  
  Tajo


<%@ include file="header.jsp"%>

Tajo Master: <%=masterLabel%> <%=activeLabel%>


Catalog

Database:
<% if(tableNames == null || tableNames.isEmpty()) { out.write("No tables"); } else { %> <% for(String eachTableName: tableNames) { String bold = ""; if(eachTableName.equals(selectedTable)) { bold = "font-weight:bold"; } String detailLink = "catalogview.jsp?database=" + selectedDatabase + "&table=" + eachTableName; out.write(""); } %>
Table Name
" + eachTableName + "
<% } %>
Table name: <%=selectedTable%>
<% if(tableDesc != null) { List columns = tableDesc.getSchema().getColumns(); out.write(""); int columnIndex = 1; for(Column eachColumn: columns) { out.write(""); columnIndex++; } out.write("
NoColumn nameType
" + columnIndex + "" + eachColumn.getSimpleName() + "" + eachColumn.getDataType().getType() + "
"); out.write("
"); if (tableDesc.getPartitionMethod() != null) { PartitionMethodDesc partition = tableDesc.getPartitionMethod(); List partitionColumns = partition.getExpressionSchema().getColumns(); String partitionColumnStr = ""; String prefix = ""; for (Column eachColumn: partitionColumns) { partitionColumnStr += prefix + eachColumn.toString(); prefix = "
"; } out.write("
"); out.write("
Partition
"); out.write(" "); out.write(" "); out.write(" "); out.write("
Type" + partition.getPartitionType().name() + "
Columns" + partitionColumnStr + "
"); out.write("
"); } String optionStr = ""; String prefix = ""; for(Map.Entry entry: tableDesc.getMeta().toMap().entrySet()) { optionStr += prefix + "'" + entry.getKey() + "'='" + entry.getValue() + "'"; prefix = "
"; } %>
Detail
Table path<%=tableDesc.getPath()%>
Store type<%=tableDesc.getMeta().getStoreType()%>
# rows<%=(tableDesc.hasStats() ? ("" + tableDesc.getStats().getNumRows()) : "-")%>
Volume<%=(tableDesc.hasStats() ? FileUtil.humanReadableByteCount(tableDesc.getStats().getNumBytes(),true) : "-")%>
Options<%=optionStr%>
<% } %>




© 2015 - 2025 Weber Informatics LLC | Privacy Policy