def METHOD_NAME(
    client, value, builder, **kw
):  # pylint: disable=unused-argument
    def put_partition(v, partition_info=None):
        client = vineyard.connect()
        obj_id = client.put(v, partition_index=(partition_info['number'], 0))
        client.persist(obj_id)
        return pd.DataFrame([{'no': partition_info['number'], 'id': int(obj_id)}])
    _ = Client(kw['dask_scheduler'])  # enforce distributed scheduling
    res = value.map_partitions(put_partition, meta={'no': int, 'id': int}).compute()
    res = res.set_index('no')
    blocks = [res.loc[i] for i in range(len(res))]
    return make_global_dataframe(client, blocks)