2017-10-03 1 views
1

TL; DR
Wenn mehrere Anfragen kommen, während eine andere Abfrage wird die benötigten Datensätze Download - wird Dask Versuch, die Datenmenge mehrere Male zum Download? Oder wird es bestätigen, dass es "im Flug" ist und automatisch darauf wartet, dass es abgeschlossen wird?Multiple get_dataset gleichzeitig in einem dask Arbeiter

Hintergrund
Wenn ich einen Arbeiter, der gerade in Betrieb genommen (die in den Speicher geladen noch keine Datensätze hat) und meine Funktion fragt nach dem Datensatz wird es auf den Arbeiter als notwendig heruntergeladen werden. Ein einfaches Szenario:

(1) Worker boots 
(2) Receives query which needs a dataset 
(3) Downloads dataset (takes X seconds) 
(4) Executes query 

Wenn aber ich habe folgendes Szenario:

(1) Worker boots 
(2) Receives query which needs a dataset 
(3) Downloads dataset (takes X seconds) 
(4) Receives query which needs the same dataset which is currently downloading - will it download it again or detect in-flight? 
(5) Receives another query which needs the same dataset which is currently downloading - will it download it again or detect in-flight? 
(6) Execute queries 

Hat Dask Versuch, die Datenmenge mehrere Male zum Download, oder wird sie erkennen an, dass es „im Flug“ ist und automatisch warten um es zu vervollständigen?

Ich habe den Quellcode gelesen, aber die Dataset Publish/List ist immer noch ein bisschen eine Blackbox für mich.

Antwort

0

Jeder Aufruf an client.get_dataset ist separat, und mehrere Anforderungen führen zu redundanter Arbeit. Nichtsdestoweniger sollten Sie niemals etwas in einem Dataset außer Metadaten speichern (wie eine DASK-Sammlung, die auf Remote-Futures verweist), sodass dieser Download bei richtiger Verwendung nur Millisekunden dauert.

Verwandte Themen