What is the downside to use small block instead of large blocks?

Hello,I am using ray.dataset zip to mock join on unique key of 2 dataset
For example,I use some different user’s codes to read 2 datasets,they are their own bussiness logic,so those ds can have same row num,but I can’t make sure they have same num of blocks, one dataset read from file store monthly and the other is store daily for example.
They also have a primary key of same set, so I can use sort then join to archive join.
But I found dataset’s zip method need these 2 dataset not only have same rows but also same blocks.
I plan to use ray.dataset.repartition to make sure these 2 dataset have same rows and blocks
But I am not sure about the downsize of this

Or I can just make sure the reader of any dataset have one row one block?