tools/scd-file-to-file/main.py (31 lines of code) (raw):

import settings # Imports from scd_project/config/settings.py import scd_operations def run_scd_processing(): """ Main function to run the SCD generation processes. """ print("Starting SCD Update/Delete Generation Process...") upd_del_status = scd_operations.scd_update_delete_generation( gcs_input_path=settings.GCS_INPUT_PATH, gcs_output_path=settings.GCS_UPDATE_DELETE_OUTPUT_PATH, primary_key_column=settings.PRIMARY_KEY_COLUMN, scd_column_list=settings.SCD_COLUMN_LIST, effective_from_date_column=settings.EFFECTIVE_FROM_DATE_COLUMN, effective_to_date_column=settings.EFFECTIVE_TO_DATE_COLUMN, active_flag_column=settings.ACTIVE_FLAG_COLUMN, unique_scd_keys_for_generation=settings.UNIQUE_SCD_KEYS_FOR_GENERATION, percentage_for_update_scd_generation=settings.PERCENTAGE_FOR_UPDATE_SCD_GENERATION, ) print(f"SCD Update/Delete Generation Status: {upd_del_status}\n") print("Starting SCD Insert Generation Process...") inst_status = scd_operations.scd_insert_generation( gcs_input_path=settings.GCS_INPUT_PATH, # Source for sampling new records gcs_output_path=settings.GCS_INSERT_OUTPUT_PATH, primary_key_column=settings.PRIMARY_KEY_COLUMN, scd_column_list=settings.SCD_COLUMN_LIST, effective_from_date_column=settings.EFFECTIVE_FROM_DATE_COLUMN, effective_to_date_column=settings.EFFECTIVE_TO_DATE_COLUMN, active_flag_column=settings.ACTIVE_FLAG_COLUMN, unique_scd_keys_for_generation=settings.UNIQUE_SCD_KEYS_FOR_GENERATION, number_of_insert_record_count=settings.NUMBER_OF_INSERT_RECORD_COUNT, ) print(f"SCD Insert Generation Status: {inst_status}\n") if __name__ == "__main__": run_scd_processing()