Pass supplementary lookup tables and configuration data into transforms.
import apache_beam as beam
# 1. Create a side input (lookup dict)
metadata = p | "ReadMetadata" >> beam.Create([("user1", "Admin"), ("user2", "User")])
metadata_side = beam.pvalue.AsDict(metadata)
# 2. Consume side input in ParDo
enriched = events | "Join" >> beam.ParDo(
lambda ev, meta: (ev["id"], meta.get(ev["user"], "Unknown")),
meta=metadata_side
)