This part in the documentation about Stream Ingestion with Upsert says that the input stream has to be partitioned by the primary key. Is this a literal requirement, or it just means that messages of the same PK must be in the same partition, so it can be achieved with a different key too? ie. using only a subset of pk fields, which is coarser partitioning but still has the property of having all messages of a PK in one partition.