loaders.tableloader
The tableloader utility provides the core writing logic for the entire platform. Whether you are landing data in Bronze, merging in Silver, or publishing to Gold, these functions handle the physical storage interactions, schema enforcement, and Delta table operations.
View Functions
dataframe_to_table
def dataframe_to_table(df_source: DataFrame, load_config: LoadConfig,
table_config: TableConfig,
config_manager: ConfigManager)
Loads a DataFrame into a Delta table with various load types (FULL, APPEND, MERGE) and handles schema validation, column updates, and logging.
Arguments:
df_sourceDataFrame - Source Spark DataFrame to loadload_configLoadConfig - Configuration for the load processtable_configTableConfig - Configuration for the target tableconfig_managerConfigManager - Global configuration manager
Raises:
ValueError- If the source DataFrame does not match the target table schema or if duplicate keys are foundException- If an error occurs during the load process
Returns:
None
dataframe_to_gold
def dataframe_to_gold(df_source: DataFrame, load_config: LoadConfig,
model: Model, config_manager: ConfigManager)
Loads a DataFrame into a Gold layer Delta table with surrogate key handling and validation.
Arguments:
df_sourceDataFrame - Source Spark DataFrame to loadload_configLoadConfig - Configuration for the load processmodelModel - Data model containing table definitionsconfig_managerConfigManager - Global configuration manager
Raises:
ValueError- If the table is not found in the model or if the source DataFrame does not match the target table schemaException- If an error occurs during the load process
Returns:
None
dataframe_to_bronze
def dataframe_to_bronze(df_source: DataFrame, table_config: TableConfig,
object_info: ObjectInfo,
config_manager: ConfigManager) -> None
Loads a DataFrame into a Bronze layer Delta table with system columns and validation.
Arguments:
df_sourceDataFrame - Source Spark DataFrame to loadtable_configTableConfig - Configuration for the target tableobject_infoObjectInfo - Source object informationconfig_managerConfigManager - Global configuration manager
Raises:
ValueError- If source DataFrame is empty or invalidException- If bronze lakehouse configuration is missing
Returns:
None