Repartition with coalesce can be used:
x_repartitioned = x.coalesce(y.getNumPartitions()) # Match partitions of y z = x_repartitioned.zip(y).collect()