I have a data.table named dtA:
data.table
dtA
My actual dtA has 62871932 rows and 3 columns:
date company value 19810
Use an anti-join:
dtA[!dtB, on=.(date, company, value)]
This matches all records in dtA that are not found in dtB using the columns in on.
dtB
on