Wat is spark.driver.maxResultSize?

De refzegt:

Limiet van totale grootte van geserialiseerde resultaten van alle partities voor elk
Spark-actie (bijvoorbeeld verzamelen). Moet minimaal 1M zijn, of 0 voor
onbeperkt. Taken worden afgebroken als de totale grootte boven deze limiet komt.
Het hebben van een hoge limiet kan leiden tot onvoldoende geheugen in het stuurprogramma (afhankelijk van
op spark.driver.memory en geheugenoverhead van objecten in JVM). Instelling
een juiste limiet kan het stuurprogramma beschermen tegen onvoldoende geheugen.

Wat doet dit kenmerk precies? Ik bedoel, in het begin (omdat ik niet vecht met een taak die mislukt vanwege onvoldoende geheugen) dacht ik dat ik dat moest verhogen.

Bij nader inzien lijkt het erop dat dit kenmerk de maximale grootte definieert van het resultaat dat een werknemer naar de bestuurder kan sturen, dus het op de standaardwaarde laten (1G) zou de beste benadering zijn om de bestuurder te beschermen..

Maar in dit geval zal de werknemer meer berichten moeten verzenden, zodat de overhead alleen maar langzamer zal zijn?


Als ik het goed begrijp, ervan uitgaande dat een werknemer 4G aan gegevens naar de bestuurder wil sturen, zal het hebben van spark.driver.maxResultSize=1Gervoor zorgen dat de werknemer 4 berichten verzendt (in plaats van 1 met onbeperkte spark.driver.maxResultSize). Als dat zo is, zou het verkeerd zijn om die eigenschap te verhogen om te voorkomen dat mijn chauffeur wordt vermoord door Yarn.

Maar de vraag hierboven blijft nog steeds..Ik bedoel, wat als ik het instel op 1M (het minimum), zal dit dan de meest beschermende benadering zijn?


Antwoord 1, autoriteit 100%

Ervan uitgaande dat een werknemer 4G van gegevens naar de bestuurder wil verzenden, en vervolgens vonk .DRIVER.MAXRESULSIZE = 1G, zal de werknemer 4 berichten verzenden (in plaats van 1 met onbeperkte vonk.

Nee. Indien de geschatte grootte van de gegevens groter is dan maxResultSizeGegeven taak wordt afgebroken. Het doel hier is om uw aanvraag te beschermen tegen verlies van de bestuurder, niets meer.

Als ik het op 1 m (het minimum) instel, zal het de meest beschermende benadering zijn?

In Sense Ja, maar natuurlijk is het in de praktijk niet nuttig. Goede waarde moet een aanvraag toestaan om normaal door te gaan, maar de toepassing van onverwachte omstandigheden te beschermen.

Other episodes