package com.thinkbiganalytics.spark.dataprofiler; /*- * #%L * kylo-spark-job-profiler-api * %% * Copyright (C) 2017 ThinkBig Analytics * %% * Licensed 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. * #L% */ import java.io.Serializable; /** * Helper class to hold parameters for profiler */ @SuppressWarnings("unused") public class ProfilerConfiguration implements Serializable { private static final long serialVersionUID = -6099960489540200374L; private Integer decimalDigitsToDisplayConsoleOutput = 4; private String inputAndOutputTablePartitionKey = "partitionKey"; private String inputTablePartitionColumnName = "processing_dttm"; private Integer numberOfTopNValues = 3; private String outputDbName = "default"; private String outputTableName = "profilestats"; private String outputTablePartitionColumnName = "processing_dttm"; private String sqlDialect = "hiveql"; // Hive supported HQL /** * Number of decimals to print out in console<br> * (not considered when writing to table) */ public Integer getDecimalDigitsToDisplayConsoleOutput() { return decimalDigitsToDisplayConsoleOutput; } public void setDecimalDigitsToDisplayConsoleOutput(Integer decimalDigitsToDisplayConsoleOutput) { this.decimalDigitsToDisplayConsoleOutput = decimalDigitsToDisplayConsoleOutput; } /** * Partition key to read and write to */ public String getInputAndOutputTablePartitionKey() { return inputAndOutputTablePartitionKey; } public void setInputAndOutputTablePartitionKey(String inputAndOutputTablePartitionKey) { this.inputAndOutputTablePartitionKey = inputAndOutputTablePartitionKey; } /** * Partition column name for input table */ public String getInputTablePartitionColumnName() { return inputTablePartitionColumnName; } public void setInputTablePartitionColumnName(String inputTablePartitionColumnName) { this.inputTablePartitionColumnName = inputTablePartitionColumnName; } /** * N for top-N values to store in result table<br> * A required command line parameter */ public Integer getNumberOfTopNValues() { return numberOfTopNValues; } public void setNumberOfTopNValues(Integer numberOfTopNValues) { this.numberOfTopNValues = numberOfTopNValues; } /** * Name of database to write result to */ public String getOutputDbName() { return outputDbName; } public void setOutputDbName(String outputDbName) { this.outputDbName = outputDbName; } /** * Name of table to write result to<br> * A required command line parameter */ public String getOutputTableName() { return outputTableName; } public void setOutputTableName(String outputTableName) { this.outputTableName = outputTableName; } /** * Partition column name for output table */ public String getOutputTablePartitionColumnName() { return outputTablePartitionColumnName; } public void setOutputTablePartitionColumnName(String outputTablePartitionColumnName) { this.outputTablePartitionColumnName = outputTablePartitionColumnName; } /** * Gets the flavor of queries to run. */ public String getSqlDialect() { return sqlDialect; } public void setSqlDialect(String sqlDialect) { this.sqlDialect = sqlDialect; } }