org.apache.hadoop.hive.ql.parse.ExplainConfiguration Maven / Gradle / Ivy
/*
* 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.
*/
package org.apache.hadoop.hive.ql.parse;
import java.util.Map;
import org.apache.hadoop.fs.Path;
/**
* ExplainConfiguration
*/
public class ExplainConfiguration {
public enum VectorizationDetailLevel {
SUMMARY(4), OPERATOR(3), EXPRESSION(2), DETAIL(1);
public final int rank;
VectorizationDetailLevel(int rank) {
this.rank = rank;
}
};
private boolean extended = false;
private boolean formatted = false;
private boolean dependency = false;
private boolean logical = false;
private boolean authorize = false;
private boolean userLevelExplain = false;
private boolean vectorization = false;
private boolean vectorizationOnly = false;
private VectorizationDetailLevel vectorizationDetailLevel = VectorizationDetailLevel.SUMMARY;
private Path explainRootPath;
private Map opIdToRuntimeNumRows;
public enum AnalyzeState {
RUNNING, ANALYZING
};
private AnalyzeState analyze = null;
public boolean isExtended() {
return extended;
}
public void setExtended(boolean extended) {
this.extended = extended;
}
public boolean isFormatted() {
return formatted;
}
public void setFormatted(boolean formatted) {
this.formatted = formatted;
}
public boolean isDependency() {
return dependency;
}
public void setDependency(boolean dependency) {
this.dependency = dependency;
}
public boolean isLogical() {
return logical;
}
public void setLogical(boolean logical) {
this.logical = logical;
}
public boolean isAuthorize() {
return authorize;
}
public void setAuthorize(boolean authorize) {
this.authorize = authorize;
}
public AnalyzeState getAnalyze() {
return analyze;
}
public void setAnalyze(AnalyzeState analyze) {
this.analyze = analyze;
}
public boolean isUserLevelExplain() {
return userLevelExplain;
}
public void setUserLevelExplain(boolean userLevelExplain) {
this.userLevelExplain = userLevelExplain;
}
public boolean isVectorization() {
return vectorization;
}
public void setVectorization(boolean vectorization) {
this.vectorization = vectorization;
}
public boolean isVectorizationOnly() {
return vectorizationOnly;
}
public void setVectorizationOnly(boolean vectorizationOnly) {
this.vectorizationOnly = vectorizationOnly;
}
public VectorizationDetailLevel getVectorizationDetailLevel() {
return vectorizationDetailLevel;
}
public void setVectorizationDetailLevel(VectorizationDetailLevel vectorizationDetailLevel) {
this.vectorizationDetailLevel = vectorizationDetailLevel;
}
public Path getExplainRootPath() {
return explainRootPath;
}
public void setExplainRootPath(Path explainRootPath) {
this.explainRootPath = explainRootPath;
}
public Map getOpIdToRuntimeNumRows() {
return opIdToRuntimeNumRows;
}
public void setOpIdToRuntimeNumRows(Map opIdToRuntimeNumRows) {
this.opIdToRuntimeNumRows = opIdToRuntimeNumRows;
}
}