in data_validation/validation_builder.py [0:0]
def add_comparison_field(self, comparison_field):
"""Add ComparionField to Queries
Args:
comparison_field (Dict): An object with source, target, and cast info
"""
source_field_name = comparison_field[consts.CONFIG_SOURCE_COLUMN]
target_field_name = comparison_field[consts.CONFIG_TARGET_COLUMN]
# grab calc field metadata
alias = comparison_field[consts.CONFIG_FIELD_ALIAS]
cast = comparison_field.get(consts.CONFIG_CAST)
source_field = ComparisonField(
field_name=source_field_name, alias=alias, cast=cast
)
target_field = ComparisonField(
field_name=target_field_name, alias=alias, cast=cast
)
# check if valid calc field and return correct object
self.source_builder.add_comparison_field(source_field)
self.target_builder.add_comparison_field(target_field)
self._metadata[alias] = metadata.ValidationMetadata(
aggregation_type=None,
validation_type=self.validation_type,
source_table_schema=self.config_manager.source_schema,
source_table_name=self.config_manager.source_table,
target_table_schema=self.config_manager.target_schema,
target_table_name=self.config_manager.target_table,
source_column_name=source_field_name,
target_column_name=target_field_name,
primary_keys=self.config_manager.get_primary_keys_list(),
num_random_rows=self.config_manager.get_random_row_batch_size(),
threshold=self.config_manager.threshold,
)