html_url,issue_url,id,node_id,user,created_at,updated_at,author_association,body,reactions,performed_via_github_app,issue https://github.com/pydata/xarray/issues/1093#issuecomment-259213382,https://api.github.com/repos/pydata/xarray/issues/1093,259213382,MDEyOklzc3VlQ29tbWVudDI1OTIxMzM4Mg==,1217238,2016-11-08T18:09:11Z,2016-11-08T18:09:34Z,MEMBER,"The other component that would help for this is some utility function inside xarray to split a `Dataset` (or `DataArray`) into sub-datasets for each chunk. Something like: ``` python def split_by_chunks(dataset): chunk_slices = {} for dim, chunks in dataset.chunks.items(): slices = [] start = 0 for chunk in chunks: stop = start + chunk slices.append(slice(start, stop)) start = stop chunk_slices[dim] = slices for slices in itertools.product(*chunk_slices.values()): selection = dict(zip(chunk_slices.keys(), slices)) yield (selection, dataset[selection]) ``` ","{""total_count"": 1, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 1}",,187872991 https://github.com/pydata/xarray/issues/1093#issuecomment-259207151,https://api.github.com/repos/pydata/xarray/issues/1093,259207151,MDEyOklzc3VlQ29tbWVudDI1OTIwNzE1MQ==,1217238,2016-11-08T17:46:23Z,2016-11-08T17:46:23Z,MEMBER,"> Can you explain why you think this could benefit from collection duck typing? Then we could use xarray's normal indexing operations to create a new sub-datasets, wrap them with `dask.delayed` and start chaining on delayed method calls like `to_dataframe`. The duck typing is necessary so that `dask.delayed` knows how to pull the dask graph out from the input `Dataset`. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,187872991 https://github.com/pydata/xarray/issues/1093#issuecomment-259052436,https://api.github.com/repos/pydata/xarray/issues/1093,259052436,MDEyOklzc3VlQ29tbWVudDI1OTA1MjQzNg==,1217238,2016-11-08T05:55:19Z,2016-11-08T05:55:19Z,MEMBER,"CC @mrocklin @jcrist This is a good use case for dask collection duck typing: https://github.com/dask/dask/pull/1068 ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,187872991