By default, only 10 MB of data can be broadcasted.
spark.sql.autoBroadcastJoinThreshold can be increased up to 8GB
There is an upper limit in terms of records as well. We can't broadcast more than 512m records. So its either 512m records or 8GB which ever limit hits first