Class: Google::Apis::DataplexV1::GoogleCloudDataplexV1DataQualityRule

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/dataplex_v1/classes.rb,
lib/google/apis/dataplex_v1/representations.rb,
lib/google/apis/dataplex_v1/representations.rb

Overview

A rule captures data quality intent about a data source.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleCloudDataplexV1DataQualityRule

Returns a new instance of GoogleCloudDataplexV1DataQualityRule.



3990
3991
3992
# File 'lib/google/apis/dataplex_v1/classes.rb', line 3990

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#attributesHash<String,String>

Optional. Map of attribute name and value linked to the rule. The rules to evaluate can be filtered based on attributes provided here and a filter expression provided in the DataQualitySpec.filter field. Corresponds to the JSON property attributes

Returns:

  • (Hash<String,String>)


3863
3864
3865
# File 'lib/google/apis/dataplex_v1/classes.rb', line 3863

def attributes
  @attributes
end

#columnString

Optional. The unnested column which this rule is evaluated against. Corresponds to the JSON property column

Returns:

  • (String)


3868
3869
3870
# File 'lib/google/apis/dataplex_v1/classes.rb', line 3868

def column
  @column
end

#debug_queriesArray<Google::Apis::DataplexV1::GoogleCloudDataplexV1DataQualityRuleDebugQuery>

Optional. Specifies the debug queries for this rule. Currently, only one query is supported, but this may be expanded in the future. Corresponds to the JSON property debugQueries



3874
3875
3876
# File 'lib/google/apis/dataplex_v1/classes.rb', line 3874

def debug_queries
  @debug_queries
end

#descriptionString

Optional. Description of the rule. The maximum length is 1,024 characters. Corresponds to the JSON property description

Returns:

  • (String)


3879
3880
3881
# File 'lib/google/apis/dataplex_v1/classes.rb', line 3879

def description
  @description
end

#dimensionString

Optional. The dimension a rule belongs to. Results are also aggregated at the dimension level. Custom dimension name is supported with all uppercase letters and maximum length of 30 characters. Corresponds to the JSON property dimension

Returns:

  • (String)


3886
3887
3888
# File 'lib/google/apis/dataplex_v1/classes.rb', line 3886

def dimension
  @dimension
end

#ignore_nullBoolean Also known as: ignore_null?

Optional. Rows with null values will automatically fail a rule, unless ignore_null is true. In that case, such null rows are trivially considered passing.This field is only valid for the following type of rules: RangeExpectation RegexExpectation SetExpectation UniquenessExpectation Corresponds to the JSON property ignoreNull

Returns:

  • (Boolean)


3894
3895
3896
# File 'lib/google/apis/dataplex_v1/classes.rb', line 3894

def ignore_null
  @ignore_null
end

#nameString

Optional. A mutable name for the rule. The name must contain only letters (a-z, A-Z), numbers (0-9), or hyphens (-). The maximum length is 63 characters. Must start with a letter. Must end with a number or a letter. Corresponds to the JSON property name

Returns:

  • (String)


3902
3903
3904
# File 'lib/google/apis/dataplex_v1/classes.rb', line 3902

def name
  @name
end

#non_null_expectationGoogle::Apis::DataplexV1::GoogleCloudDataplexV1DataQualityRuleNonNullExpectation

Evaluates whether each column value is null. Corresponds to the JSON property nonNullExpectation



3907
3908
3909
# File 'lib/google/apis/dataplex_v1/classes.rb', line 3907

def non_null_expectation
  @non_null_expectation
end

#range_expectationGoogle::Apis::DataplexV1::GoogleCloudDataplexV1DataQualityRuleRangeExpectation

Evaluates whether each column value lies between a specified range. Corresponds to the JSON property rangeExpectation



3912
3913
3914
# File 'lib/google/apis/dataplex_v1/classes.rb', line 3912

def range_expectation
  @range_expectation
end

#regex_expectationGoogle::Apis::DataplexV1::GoogleCloudDataplexV1DataQualityRuleRegexExpectation

Evaluates whether each column value matches a specified regex. Corresponds to the JSON property regexExpectation



3917
3918
3919
# File 'lib/google/apis/dataplex_v1/classes.rb', line 3917

def regex_expectation
  @regex_expectation
end

#row_condition_expectationGoogle::Apis::DataplexV1::GoogleCloudDataplexV1DataQualityRuleRowConditionExpectation

Evaluates whether each row passes the specified condition.The SQL expression needs to use GoogleSQL syntax (https://cloud.google.com/bigquery/docs/ reference/standard-sql/query-syntax) and should produce a boolean value per row as the result.Example: col1 >= 0 AND col2 < 10 Corresponds to the JSON property rowConditionExpectation



3925
3926
3927
# File 'lib/google/apis/dataplex_v1/classes.rb', line 3925

def row_condition_expectation
  @row_condition_expectation
end

#rule_sourceGoogle::Apis::DataplexV1::GoogleCloudDataplexV1DataQualityRuleRuleSource

Represents the rule source information from Catalog. Corresponds to the JSON property ruleSource



3930
3931
3932
# File 'lib/google/apis/dataplex_v1/classes.rb', line 3930

def rule_source
  @rule_source
end

#set_expectationGoogle::Apis::DataplexV1::GoogleCloudDataplexV1DataQualityRuleSetExpectation

Evaluates whether each column value is contained by a specified set. Corresponds to the JSON property setExpectation



3935
3936
3937
# File 'lib/google/apis/dataplex_v1/classes.rb', line 3935

def set_expectation
  @set_expectation
end

#sql_assertionGoogle::Apis::DataplexV1::GoogleCloudDataplexV1DataQualityRuleSqlAssertion

A SQL statement that is evaluated to return rows that match an invalid state. If any rows are are returned, this rule fails.The SQL statement must use GoogleSQL syntax (https://cloud.google.com/bigquery/docs/reference/standard- sql/query-syntax), and must not contain any semicolons.You can use the data reference parameter $data() to reference the source table with all of its precondition filters applied. Examples of precondition filters include row filters, incremental data filters, and sampling. For more information, see Data reference parameter (https://cloud.google.com/dataplex/docs/auto-data- quality-overview#data-reference-parameter).Example: SELECT * FROM $data() WHERE price < 0 Corresponds to the JSON property sqlAssertion



3949
3950
3951
# File 'lib/google/apis/dataplex_v1/classes.rb', line 3949

def sql_assertion
  @sql_assertion
end

#statistic_range_expectationGoogle::Apis::DataplexV1::GoogleCloudDataplexV1DataQualityRuleStatisticRangeExpectation

Evaluates whether the column aggregate statistic lies between a specified range. Corresponds to the JSON property statisticRangeExpectation



3955
3956
3957
# File 'lib/google/apis/dataplex_v1/classes.rb', line 3955

def statistic_range_expectation
  @statistic_range_expectation
end

#suspendedBoolean Also known as: suspended?

Optional. Whether the Rule is active or suspended. Default is false. Corresponds to the JSON property suspended

Returns:

  • (Boolean)


3960
3961
3962
# File 'lib/google/apis/dataplex_v1/classes.rb', line 3960

def suspended
  @suspended
end

#table_condition_expectationGoogle::Apis::DataplexV1::GoogleCloudDataplexV1DataQualityRuleTableConditionExpectation

Evaluates whether the provided expression is true.The SQL expression needs to use GoogleSQL syntax (https://cloud.google.com/bigquery/docs/reference/ standard-sql/query-syntax) and should produce a scalar boolean result.Example: MIN(col1) >= 0 Corresponds to the JSON property tableConditionExpectation



3969
3970
3971
# File 'lib/google/apis/dataplex_v1/classes.rb', line 3969

def table_condition_expectation
  @table_condition_expectation
end

#template_referenceGoogle::Apis::DataplexV1::GoogleCloudDataplexV1DataQualityRuleTemplateReference

A rule that constructs a SQL statement to evaluate using a rule template and parameter values. If the constructed statement returns any rows, this rule fails Corresponds to the JSON property templateReference



3976
3977
3978
# File 'lib/google/apis/dataplex_v1/classes.rb', line 3976

def template_reference
  @template_reference
end

#thresholdFloat

Optional. The minimum ratio of passing_rows / total_rows required to pass this rule, with a range of 0.0, 1.0.0 indicates default value (i.e. 1.0).This field is only valid for row-level type rules. Corresponds to the JSON property threshold

Returns:

  • (Float)


3983
3984
3985
# File 'lib/google/apis/dataplex_v1/classes.rb', line 3983

def threshold
  @threshold
end

#uniqueness_expectationGoogle::Apis::DataplexV1::GoogleCloudDataplexV1DataQualityRuleUniquenessExpectation

Evaluates whether the column has duplicates. Corresponds to the JSON property uniquenessExpectation



3988
3989
3990
# File 'lib/google/apis/dataplex_v1/classes.rb', line 3988

def uniqueness_expectation
  @uniqueness_expectation
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
# File 'lib/google/apis/dataplex_v1/classes.rb', line 3995

def update!(**args)
  @attributes = args[:attributes] if args.key?(:attributes)
  @column = args[:column] if args.key?(:column)
  @debug_queries = args[:debug_queries] if args.key?(:debug_queries)
  @description = args[:description] if args.key?(:description)
  @dimension = args[:dimension] if args.key?(:dimension)
  @ignore_null = args[:ignore_null] if args.key?(:ignore_null)
  @name = args[:name] if args.key?(:name)
  @non_null_expectation = args[:non_null_expectation] if args.key?(:non_null_expectation)
  @range_expectation = args[:range_expectation] if args.key?(:range_expectation)
  @regex_expectation = args[:regex_expectation] if args.key?(:regex_expectation)
  @row_condition_expectation = args[:row_condition_expectation] if args.key?(:row_condition_expectation)
  @rule_source = args[:rule_source] if args.key?(:rule_source)
  @set_expectation = args[:set_expectation] if args.key?(:set_expectation)
  @sql_assertion = args[:sql_assertion] if args.key?(:sql_assertion)
  @statistic_range_expectation = args[:statistic_range_expectation] if args.key?(:statistic_range_expectation)
  @suspended = args[:suspended] if args.key?(:suspended)
  @table_condition_expectation = args[:table_condition_expectation] if args.key?(:table_condition_expectation)
  @template_reference = args[:template_reference] if args.key?(:template_reference)
  @threshold = args[:threshold] if args.key?(:threshold)
  @uniqueness_expectation = args[:uniqueness_expectation] if args.key?(:uniqueness_expectation)
end