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

org.openmetadata.schema.metadataIngestion.DatabaseServiceProfilerPipeline Maven / Gradle / Ivy

There is a newer version: 1.6.0-rc1
Show newest version

package org.openmetadata.schema.metadataIngestion;

import java.util.HashMap;
import java.util.Map;
import javax.annotation.processing.Generated;
import javax.validation.Valid;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.annotation.JsonValue;


/**
 * DatabaseServiceProfilerPipeline
 * 

* DatabaseService Profiler Pipeline Configuration. * */ @JsonInclude(JsonInclude.Include.NON_NULL) @JsonPropertyOrder({ "type", "schemaFilterPattern", "tableFilterPattern", "databaseFilterPattern", "includeViews", "useFqnForFiltering", "generateSampleData", "computeMetrics", "processPiiSensitive", "confidence", "profileSampleType", "profileSample", "sampleDataCount", "threadCount", "timeoutSeconds" }) @Generated("jsonschema2pojo") public class DatabaseServiceProfilerPipeline { /** * Profiler Source Config Pipeline type * */ @JsonProperty("type") @JsonPropertyDescription("Profiler Source Config Pipeline type") private DatabaseServiceProfilerPipeline.ProfilerConfigType type = DatabaseServiceProfilerPipeline.ProfilerConfigType.fromValue("Profiler"); /** * Regex to only fetch dashboards or charts that matches the pattern. * */ @JsonProperty("schemaFilterPattern") @JsonPropertyDescription("Regex to only fetch dashboards or charts that matches the pattern.") @Valid private FilterPattern schemaFilterPattern; /** * Regex to only fetch dashboards or charts that matches the pattern. * */ @JsonProperty("tableFilterPattern") @JsonPropertyDescription("Regex to only fetch dashboards or charts that matches the pattern.") @Valid private FilterPattern tableFilterPattern; /** * Regex to only fetch dashboards or charts that matches the pattern. * */ @JsonProperty("databaseFilterPattern") @JsonPropertyDescription("Regex to only fetch dashboards or charts that matches the pattern.") @Valid private FilterPattern databaseFilterPattern; /** * Include Views *

* Optional configuration to turn off fetching metadata for views. * */ @JsonProperty("includeViews") @JsonPropertyDescription("Optional configuration to turn off fetching metadata for views.") private Boolean includeViews = true; /** * Use FQN For Filtering *

* Regex will be applied on fully qualified name (e.g service_name.db_name.schema_name.table_name) instead of raw name (e.g. table_name) * */ @JsonProperty("useFqnForFiltering") @JsonPropertyDescription("Regex will be applied on fully qualified name (e.g service_name.db_name.schema_name.table_name) instead of raw name (e.g. table_name)") private Boolean useFqnForFiltering = false; /** * Generate Sample Data *

* Option to turn on/off generating sample data. If enabled, profiler will ingest sample data for each table. * */ @JsonProperty("generateSampleData") @JsonPropertyDescription("Option to turn on/off generating sample data. If enabled, profiler will ingest sample data for each table.") private Boolean generateSampleData = true; /** * Compute Metrics *

* Option to turn on/off computing profiler metrics. * */ @JsonProperty("computeMetrics") @JsonPropertyDescription("Option to turn on/off computing profiler metrics.") private Boolean computeMetrics = true; /** * Auto Tag PII *

* Optional configuration to automatically tag columns that might contain sensitive information * */ @JsonProperty("processPiiSensitive") @JsonPropertyDescription("Optional configuration to automatically tag columns that might contain sensitive information") private Boolean processPiiSensitive = false; /** * PII Inference Confidence Level *

* Set the Confidence value for which you want the column to be tagged as PII. Confidence value ranges from 0 to 100. A higher number will yield less false positives but more false negatives. A lower number will yield more false positives but less false negatives. * */ @JsonProperty("confidence") @JsonPropertyDescription("Set the Confidence value for which you want the column to be tagged as PII. Confidence value ranges from 0 to 100. A higher number will yield less false positives but more false negatives. A lower number will yield more false positives but less false negatives.") private Double confidence = 80.0D; /** * Type of Profile Sample (percentage or rows) * */ @JsonProperty("profileSampleType") @JsonPropertyDescription("Type of Profile Sample (percentage or rows)") private org.openmetadata.schema.type.TableProfilerConfig.ProfileSampleType profileSampleType = org.openmetadata.schema.type.TableProfilerConfig.ProfileSampleType.fromValue("PERCENTAGE"); /** * Profile Sample *

* Percentage of data or no. of rows used to compute the profiler metrics and run data quality tests * */ @JsonProperty("profileSample") @JsonPropertyDescription("Percentage of data or no. of rows used to compute the profiler metrics and run data quality tests") private Double profileSample = null; /** * Sample Data Rows Count *

* Number of sample rows to ingest when 'Generate Sample Data' is enabled * */ @JsonProperty("sampleDataCount") @JsonPropertyDescription("Number of sample rows to ingest when 'Generate Sample Data' is enabled") private Integer sampleDataCount = 50; /** * Thread Count *

* Number of threads to use during metric computations * */ @JsonProperty("threadCount") @JsonPropertyDescription("Number of threads to use during metric computations") private Double threadCount = 5.0D; /** * Timeout (in sec.) *

* Profiler Timeout in Seconds * */ @JsonProperty("timeoutSeconds") @JsonPropertyDescription("Profiler Timeout in Seconds") private Integer timeoutSeconds = 43200; /** * Profiler Source Config Pipeline type * */ @JsonProperty("type") public DatabaseServiceProfilerPipeline.ProfilerConfigType getType() { return type; } /** * Profiler Source Config Pipeline type * */ @JsonProperty("type") public void setType(DatabaseServiceProfilerPipeline.ProfilerConfigType type) { this.type = type; } public DatabaseServiceProfilerPipeline withType(DatabaseServiceProfilerPipeline.ProfilerConfigType type) { this.type = type; return this; } /** * Regex to only fetch dashboards or charts that matches the pattern. * */ @JsonProperty("schemaFilterPattern") public FilterPattern getSchemaFilterPattern() { return schemaFilterPattern; } /** * Regex to only fetch dashboards or charts that matches the pattern. * */ @JsonProperty("schemaFilterPattern") public void setSchemaFilterPattern(FilterPattern schemaFilterPattern) { this.schemaFilterPattern = schemaFilterPattern; } public DatabaseServiceProfilerPipeline withSchemaFilterPattern(FilterPattern schemaFilterPattern) { this.schemaFilterPattern = schemaFilterPattern; return this; } /** * Regex to only fetch dashboards or charts that matches the pattern. * */ @JsonProperty("tableFilterPattern") public FilterPattern getTableFilterPattern() { return tableFilterPattern; } /** * Regex to only fetch dashboards or charts that matches the pattern. * */ @JsonProperty("tableFilterPattern") public void setTableFilterPattern(FilterPattern tableFilterPattern) { this.tableFilterPattern = tableFilterPattern; } public DatabaseServiceProfilerPipeline withTableFilterPattern(FilterPattern tableFilterPattern) { this.tableFilterPattern = tableFilterPattern; return this; } /** * Regex to only fetch dashboards or charts that matches the pattern. * */ @JsonProperty("databaseFilterPattern") public FilterPattern getDatabaseFilterPattern() { return databaseFilterPattern; } /** * Regex to only fetch dashboards or charts that matches the pattern. * */ @JsonProperty("databaseFilterPattern") public void setDatabaseFilterPattern(FilterPattern databaseFilterPattern) { this.databaseFilterPattern = databaseFilterPattern; } public DatabaseServiceProfilerPipeline withDatabaseFilterPattern(FilterPattern databaseFilterPattern) { this.databaseFilterPattern = databaseFilterPattern; return this; } /** * Include Views *

* Optional configuration to turn off fetching metadata for views. * */ @JsonProperty("includeViews") public Boolean getIncludeViews() { return includeViews; } /** * Include Views *

* Optional configuration to turn off fetching metadata for views. * */ @JsonProperty("includeViews") public void setIncludeViews(Boolean includeViews) { this.includeViews = includeViews; } public DatabaseServiceProfilerPipeline withIncludeViews(Boolean includeViews) { this.includeViews = includeViews; return this; } /** * Use FQN For Filtering *

* Regex will be applied on fully qualified name (e.g service_name.db_name.schema_name.table_name) instead of raw name (e.g. table_name) * */ @JsonProperty("useFqnForFiltering") public Boolean getUseFqnForFiltering() { return useFqnForFiltering; } /** * Use FQN For Filtering *

* Regex will be applied on fully qualified name (e.g service_name.db_name.schema_name.table_name) instead of raw name (e.g. table_name) * */ @JsonProperty("useFqnForFiltering") public void setUseFqnForFiltering(Boolean useFqnForFiltering) { this.useFqnForFiltering = useFqnForFiltering; } public DatabaseServiceProfilerPipeline withUseFqnForFiltering(Boolean useFqnForFiltering) { this.useFqnForFiltering = useFqnForFiltering; return this; } /** * Generate Sample Data *

* Option to turn on/off generating sample data. If enabled, profiler will ingest sample data for each table. * */ @JsonProperty("generateSampleData") public Boolean getGenerateSampleData() { return generateSampleData; } /** * Generate Sample Data *

* Option to turn on/off generating sample data. If enabled, profiler will ingest sample data for each table. * */ @JsonProperty("generateSampleData") public void setGenerateSampleData(Boolean generateSampleData) { this.generateSampleData = generateSampleData; } public DatabaseServiceProfilerPipeline withGenerateSampleData(Boolean generateSampleData) { this.generateSampleData = generateSampleData; return this; } /** * Compute Metrics *

* Option to turn on/off computing profiler metrics. * */ @JsonProperty("computeMetrics") public Boolean getComputeMetrics() { return computeMetrics; } /** * Compute Metrics *

* Option to turn on/off computing profiler metrics. * */ @JsonProperty("computeMetrics") public void setComputeMetrics(Boolean computeMetrics) { this.computeMetrics = computeMetrics; } public DatabaseServiceProfilerPipeline withComputeMetrics(Boolean computeMetrics) { this.computeMetrics = computeMetrics; return this; } /** * Auto Tag PII *

* Optional configuration to automatically tag columns that might contain sensitive information * */ @JsonProperty("processPiiSensitive") public Boolean getProcessPiiSensitive() { return processPiiSensitive; } /** * Auto Tag PII *

* Optional configuration to automatically tag columns that might contain sensitive information * */ @JsonProperty("processPiiSensitive") public void setProcessPiiSensitive(Boolean processPiiSensitive) { this.processPiiSensitive = processPiiSensitive; } public DatabaseServiceProfilerPipeline withProcessPiiSensitive(Boolean processPiiSensitive) { this.processPiiSensitive = processPiiSensitive; return this; } /** * PII Inference Confidence Level *

* Set the Confidence value for which you want the column to be tagged as PII. Confidence value ranges from 0 to 100. A higher number will yield less false positives but more false negatives. A lower number will yield more false positives but less false negatives. * */ @JsonProperty("confidence") public Double getConfidence() { return confidence; } /** * PII Inference Confidence Level *

* Set the Confidence value for which you want the column to be tagged as PII. Confidence value ranges from 0 to 100. A higher number will yield less false positives but more false negatives. A lower number will yield more false positives but less false negatives. * */ @JsonProperty("confidence") public void setConfidence(Double confidence) { this.confidence = confidence; } public DatabaseServiceProfilerPipeline withConfidence(Double confidence) { this.confidence = confidence; return this; } /** * Type of Profile Sample (percentage or rows) * */ @JsonProperty("profileSampleType") public org.openmetadata.schema.type.TableProfilerConfig.ProfileSampleType getProfileSampleType() { return profileSampleType; } /** * Type of Profile Sample (percentage or rows) * */ @JsonProperty("profileSampleType") public void setProfileSampleType(org.openmetadata.schema.type.TableProfilerConfig.ProfileSampleType profileSampleType) { this.profileSampleType = profileSampleType; } public DatabaseServiceProfilerPipeline withProfileSampleType(org.openmetadata.schema.type.TableProfilerConfig.ProfileSampleType profileSampleType) { this.profileSampleType = profileSampleType; return this; } /** * Profile Sample *

* Percentage of data or no. of rows used to compute the profiler metrics and run data quality tests * */ @JsonProperty("profileSample") public Double getProfileSample() { return profileSample; } /** * Profile Sample *

* Percentage of data or no. of rows used to compute the profiler metrics and run data quality tests * */ @JsonProperty("profileSample") public void setProfileSample(Double profileSample) { this.profileSample = profileSample; } public DatabaseServiceProfilerPipeline withProfileSample(Double profileSample) { this.profileSample = profileSample; return this; } /** * Sample Data Rows Count *

* Number of sample rows to ingest when 'Generate Sample Data' is enabled * */ @JsonProperty("sampleDataCount") public Integer getSampleDataCount() { return sampleDataCount; } /** * Sample Data Rows Count *

* Number of sample rows to ingest when 'Generate Sample Data' is enabled * */ @JsonProperty("sampleDataCount") public void setSampleDataCount(Integer sampleDataCount) { this.sampleDataCount = sampleDataCount; } public DatabaseServiceProfilerPipeline withSampleDataCount(Integer sampleDataCount) { this.sampleDataCount = sampleDataCount; return this; } /** * Thread Count *

* Number of threads to use during metric computations * */ @JsonProperty("threadCount") public Double getThreadCount() { return threadCount; } /** * Thread Count *

* Number of threads to use during metric computations * */ @JsonProperty("threadCount") public void setThreadCount(Double threadCount) { this.threadCount = threadCount; } public DatabaseServiceProfilerPipeline withThreadCount(Double threadCount) { this.threadCount = threadCount; return this; } /** * Timeout (in sec.) *

* Profiler Timeout in Seconds * */ @JsonProperty("timeoutSeconds") public Integer getTimeoutSeconds() { return timeoutSeconds; } /** * Timeout (in sec.) *

* Profiler Timeout in Seconds * */ @JsonProperty("timeoutSeconds") public void setTimeoutSeconds(Integer timeoutSeconds) { this.timeoutSeconds = timeoutSeconds; } public DatabaseServiceProfilerPipeline withTimeoutSeconds(Integer timeoutSeconds) { this.timeoutSeconds = timeoutSeconds; return this; } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append(DatabaseServiceProfilerPipeline.class.getName()).append('@').append(Integer.toHexString(System.identityHashCode(this))).append('['); sb.append("type"); sb.append('='); sb.append(((this.type == null)?"":this.type)); sb.append(','); sb.append("schemaFilterPattern"); sb.append('='); sb.append(((this.schemaFilterPattern == null)?"":this.schemaFilterPattern)); sb.append(','); sb.append("tableFilterPattern"); sb.append('='); sb.append(((this.tableFilterPattern == null)?"":this.tableFilterPattern)); sb.append(','); sb.append("databaseFilterPattern"); sb.append('='); sb.append(((this.databaseFilterPattern == null)?"":this.databaseFilterPattern)); sb.append(','); sb.append("includeViews"); sb.append('='); sb.append(((this.includeViews == null)?"":this.includeViews)); sb.append(','); sb.append("useFqnForFiltering"); sb.append('='); sb.append(((this.useFqnForFiltering == null)?"":this.useFqnForFiltering)); sb.append(','); sb.append("generateSampleData"); sb.append('='); sb.append(((this.generateSampleData == null)?"":this.generateSampleData)); sb.append(','); sb.append("computeMetrics"); sb.append('='); sb.append(((this.computeMetrics == null)?"":this.computeMetrics)); sb.append(','); sb.append("processPiiSensitive"); sb.append('='); sb.append(((this.processPiiSensitive == null)?"":this.processPiiSensitive)); sb.append(','); sb.append("confidence"); sb.append('='); sb.append(((this.confidence == null)?"":this.confidence)); sb.append(','); sb.append("profileSampleType"); sb.append('='); sb.append(((this.profileSampleType == null)?"":this.profileSampleType)); sb.append(','); sb.append("profileSample"); sb.append('='); sb.append(((this.profileSample == null)?"":this.profileSample)); sb.append(','); sb.append("sampleDataCount"); sb.append('='); sb.append(((this.sampleDataCount == null)?"":this.sampleDataCount)); sb.append(','); sb.append("threadCount"); sb.append('='); sb.append(((this.threadCount == null)?"":this.threadCount)); sb.append(','); sb.append("timeoutSeconds"); sb.append('='); sb.append(((this.timeoutSeconds == null)?"":this.timeoutSeconds)); sb.append(','); if (sb.charAt((sb.length()- 1)) == ',') { sb.setCharAt((sb.length()- 1), ']'); } else { sb.append(']'); } return sb.toString(); } @Override public int hashCode() { int result = 1; result = ((result* 31)+((this.tableFilterPattern == null)? 0 :this.tableFilterPattern.hashCode())); result = ((result* 31)+((this.includeViews == null)? 0 :this.includeViews.hashCode())); result = ((result* 31)+((this.generateSampleData == null)? 0 :this.generateSampleData.hashCode())); result = ((result* 31)+((this.profileSampleType == null)? 0 :this.profileSampleType.hashCode())); result = ((result* 31)+((this.confidence == null)? 0 :this.confidence.hashCode())); result = ((result* 31)+((this.databaseFilterPattern == null)? 0 :this.databaseFilterPattern.hashCode())); result = ((result* 31)+((this.useFqnForFiltering == null)? 0 :this.useFqnForFiltering.hashCode())); result = ((result* 31)+((this.threadCount == null)? 0 :this.threadCount.hashCode())); result = ((result* 31)+((this.processPiiSensitive == null)? 0 :this.processPiiSensitive.hashCode())); result = ((result* 31)+((this.type == null)? 0 :this.type.hashCode())); result = ((result* 31)+((this.computeMetrics == null)? 0 :this.computeMetrics.hashCode())); result = ((result* 31)+((this.schemaFilterPattern == null)? 0 :this.schemaFilterPattern.hashCode())); result = ((result* 31)+((this.sampleDataCount == null)? 0 :this.sampleDataCount.hashCode())); result = ((result* 31)+((this.timeoutSeconds == null)? 0 :this.timeoutSeconds.hashCode())); result = ((result* 31)+((this.profileSample == null)? 0 :this.profileSample.hashCode())); return result; } @Override public boolean equals(Object other) { if (other == this) { return true; } if ((other instanceof DatabaseServiceProfilerPipeline) == false) { return false; } DatabaseServiceProfilerPipeline rhs = ((DatabaseServiceProfilerPipeline) other); return ((((((((((((((((this.tableFilterPattern == rhs.tableFilterPattern)||((this.tableFilterPattern!= null)&&this.tableFilterPattern.equals(rhs.tableFilterPattern)))&&((this.includeViews == rhs.includeViews)||((this.includeViews!= null)&&this.includeViews.equals(rhs.includeViews))))&&((this.generateSampleData == rhs.generateSampleData)||((this.generateSampleData!= null)&&this.generateSampleData.equals(rhs.generateSampleData))))&&((this.profileSampleType == rhs.profileSampleType)||((this.profileSampleType!= null)&&this.profileSampleType.equals(rhs.profileSampleType))))&&((this.confidence == rhs.confidence)||((this.confidence!= null)&&this.confidence.equals(rhs.confidence))))&&((this.databaseFilterPattern == rhs.databaseFilterPattern)||((this.databaseFilterPattern!= null)&&this.databaseFilterPattern.equals(rhs.databaseFilterPattern))))&&((this.useFqnForFiltering == rhs.useFqnForFiltering)||((this.useFqnForFiltering!= null)&&this.useFqnForFiltering.equals(rhs.useFqnForFiltering))))&&((this.threadCount == rhs.threadCount)||((this.threadCount!= null)&&this.threadCount.equals(rhs.threadCount))))&&((this.processPiiSensitive == rhs.processPiiSensitive)||((this.processPiiSensitive!= null)&&this.processPiiSensitive.equals(rhs.processPiiSensitive))))&&((this.type == rhs.type)||((this.type!= null)&&this.type.equals(rhs.type))))&&((this.computeMetrics == rhs.computeMetrics)||((this.computeMetrics!= null)&&this.computeMetrics.equals(rhs.computeMetrics))))&&((this.schemaFilterPattern == rhs.schemaFilterPattern)||((this.schemaFilterPattern!= null)&&this.schemaFilterPattern.equals(rhs.schemaFilterPattern))))&&((this.sampleDataCount == rhs.sampleDataCount)||((this.sampleDataCount!= null)&&this.sampleDataCount.equals(rhs.sampleDataCount))))&&((this.timeoutSeconds == rhs.timeoutSeconds)||((this.timeoutSeconds!= null)&&this.timeoutSeconds.equals(rhs.timeoutSeconds))))&&((this.profileSample == rhs.profileSample)||((this.profileSample!= null)&&this.profileSample.equals(rhs.profileSample)))); } /** * Profiler Source Config Pipeline type * */ @Generated("jsonschema2pojo") public enum ProfilerConfigType { PROFILER("Profiler"); private final String value; private final static Map CONSTANTS = new HashMap(); static { for (DatabaseServiceProfilerPipeline.ProfilerConfigType c: values()) { CONSTANTS.put(c.value, c); } } ProfilerConfigType(String value) { this.value = value; } @Override public String toString() { return this.value; } @JsonValue public String value() { return this.value; } @JsonCreator public static DatabaseServiceProfilerPipeline.ProfilerConfigType fromValue(String value) { DatabaseServiceProfilerPipeline.ProfilerConfigType constant = CONSTANTS.get(value); if (constant == null) { throw new IllegalArgumentException(value); } else { return constant; } } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy