Overview
Wirekite supports Firebolt as a target data warehouse for:- Schema Loading - Create target tables from Wirekite’s intermediate schema format
- Data Loading - Bulk load extracted data via AWS S3 staging
- Change Loading (CDC) - Apply ongoing changes using MERGE operations
Firebolt loaders stage data through AWS S3 buckets before loading using Firebolt’s COPY SQL command.
Prerequisites
Before configuring Firebolt as a Wirekite target, ensure the following requirements are met:Firebolt Configuration
- User Setup: Create a properly configured Firebolt user
- Engine: Ensure a Firebolt engine is available for loading operations
- Database: Create the target database
AWS S3 Requirements
Internal Tables
Ensure the Wirekite target metadata tables (wirekite_progress and wirekite_action) exist in your Firebolt database. Use the Wirekite cmdline tool to verify connectivity.
Schema Loader
The Schema Loader reads Wirekite’s intermediate schema format (.skt file) and generates Firebolt-appropriate DDL statements for creating target tables.
Firebolt does not support FOREIGN KEYs or external CHECK constraints. The Schema Loader will generate empty files for these. Column-level constraints (NOT NULL) are included in CREATE TABLE.
Required Parameters
Path to the Wirekite schema file (
.skt) generated by the Schema Extractor. Must be an absolute path.Output file for CREATE TABLE statements. Includes both base tables and merge tables for CDC operations.
Output file for constraints (always empty for Firebolt). Required but the file will be empty.
Output file for FOREIGN KEY constraints (always empty for Firebolt). Required but the file will be empty.
Absolute path to the log file for Schema Loader operations.
Optional Parameters
Output file for DROP TABLE IF EXISTS statements. Set to “none” to skip generation.
Output file for recovery table creation SQL. Set to “none” to skip.
When
true, generates merge tables for CDC operations. Set to false if only doing data loads without change capture.Data Mover (AWS)
The Data Mover uploads extracted data files to an AWS S3 bucket for subsequent loading into Firebolt.Required Parameters
AWS S3 bucket name (without
s3:// prefix) for staging data files.AWS Region where the S3 bucket resides (must match Firebolt region).
Local directory containing data files (
.dkt) from the Data Extractor.Absolute path to the log file for Data Mover operations.
Optional Parameters
AWS credentials in format:
aws_access_key_id=KEY,aws_secret_access_key=SECRET. Only required if AWS access isn’t configured via IAM roles or environment.Maximum number of parallel upload threads.
When
true, compresses files with gzip before uploading. Changes extension to .dgz.When
true, deletes local files after successful upload to S3. Should be true in production to save disk space.Data Loader
The Data Loader reads data files from AWS S3 and loads them into Firebolt tables using COPY commands.Required Parameters
Path to a file containing the Firebolt connection string.
AWS S3 bucket name (without
s3:// prefix) where data files were staged.Path to the Wirekite schema file used by Schema Loader. Required for table structure information.
Absolute path to the log file for Data Loader operations.
Optional Parameters
AWS Region where the S3 bucket resides.
AWS credentials in format:
aws_access_key_id=KEY,aws_secret_access_key=SECRET. Only required if AWS access isn’t set up in Firebolt.Maximum number of parallel threads for loading data. We recommend setting this to the number of CPUs on the host.
Set to
true if data was extracted using hex format instead of base64.When
true, counts rows in temporary tables before inserting (for progress tracking).When
true, removes files from S3 after successful loading to Firebolt.Change Loader
The Change Loader applies ongoing data changes (INSERT, UPDATE, DELETE) to Firebolt tables using MERGE operations with shadow tables.The Change Loader uploads intermediate change data to S3 before executing MERGE. The same S3 bucket used for data loading can be used.
Required Parameters
Path to a file containing the Firebolt connection string.
AWS S3 bucket name (without
s3:// prefix) for staging change data.AWS Region where the S3 bucket resides.
Directory containing change files (
.ckt) from the Change Extractor.Working directory for intermediate CSV files before uploading to S3.
Path to the Wirekite schema file for table structure information.
Absolute path to the log file for Change Loader operations.
Optional Parameters
AWS credentials in format:
aws_access_key_id=KEY,aws_secret_access_key=SECRET. Only required if AWS access isn’t set up in Firebolt.Maximum number of change files to process in a single batch before executing MERGE.
When
true, removes change files from inputDirectory after fully processing.Orchestrator Configuration
When using the Wirekite Orchestrator, prefix parameters withmover., target.schema., target.data., or target.change..
Example orchestrator configuration for Firebolt target:
