Yes, the table is partitioned on transaction_date.
Sample target table schema:
CREATE TABLE fin_data.customer_db.account_transactions (
transaction_id STRING,
account_id STRING,
transaction_date DATE,
transaction_type STRING,
transaction_amount DECIMAL(18,2),
currency STRING,
merchant_name STRING,
merchant_category STRING,
transaction_tags ARRAY<STRING>,
modificationTime TIMESTAMP
)
USING DELTA
PARTITIONED BY (transaction_date)
Target table sample data
target_txns = spark.createDataFrame([
("txn_001", "ACC123", "2025-08-01", "DEBIT", 150.00, "USD", "Amazon", "E-commerce", ["online"], "2025-08-01 10:00:00"),
("txn_002", "ACC124", "2025-08-02", "CREDIT", 2000.00, "USD", "Payroll", "Salary", ["monthly"], "2025-08-02 09:00:00")
], ["transaction_id", "account_id", "transaction_date", "transaction_type", "transaction_amount", "currency", "merchant_name", "merchant_category", "transaction_tags", "modificationTime"])
Source table sample data
source_txns = spark.createDataFrame([
("txn_003", "ACC123", "2025-08-03", "DEBIT", 75.00, "USD", "Starbucks", "Cafe", ["food"], "2025-08-03 08:00:00"),
("txn_004", "ACC125", "2025-08-04", "DEBIT", 300.00, "USD", "Best ", "Electronics", ["gadget"], "2025-08-04 15:00:00")
], ["transaction_id", "account_id", "transaction_date", "transaction_type", "transaction_amount", "currency", "merchant_name", "merchant_category", "transaction_tags", "modificationTime"])
Currently, we are using 15.4, 16.4 DBR