[FR]: Add documentation on using XEE with Dask
- Dominant language
- Python
- Stars
- 371
- Forks
- 48
- PR merge metrics
- No merged PRs in 30d
Description
### Feature Summary
Using XEE with a Dask distributed cluster requires setting up authentication for each Dask worker. I am able to use a setup like the following to make this work.
```
from dask.distributed import Client
from dask.distributed import WorkerPlugin
client = Client()
class EEPlugin(WorkerPlugin):
def __init__(self):
pass
def setup(self, worker):
self.worker = worker
try:
ee.Initialize(project=cloud_project)
except:
ee.Authenticate()
ee.Initialize(project=cloud_project)
ee_plugin = EEPlugin()
client.register_plugin(ee_plugin)
```
Here's a [compelte example](https://www.geopythontutorials.com/notebooks/xee_time_series_processing.html).
### Use Cases
Dask allows users to use their own machien or cluster for distributed computing. This is useful in cases where you need to use scientific Python packages instead of GEE API. Here's an example [Calculating SPI](https://www.geopythontutorials.com/notebooks/xee_calculating_spi.html)
Contributor guide
Research direction
Review the supplied dask.distributed Client and WorkerPlugin example, along with the linked complete example and SPI use case. Find the appropriate XEE documentation entry point, explain worker authentication and initialization for a Dask cluster, and link the examples so users can reproduce the setup.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- distributed-systems, documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100