2017-10-26 4 views

Antwort

1

Zunächst müssen Sie sich daran erinnern, dass die in Spark verwendeten Datenstrukturen standardmäßig faul sind. Wenn nicht zwischengespeichert wird, gibt es keinen datenbezogenen Speicheraufwand. Cache selbst ist kurzlebig - abhängig von StorageLevel Daten können geräumt werden, verloren als Ergebnis eines Fehlers oder wenn der Knoten außer Betrieb genommen wird.

Sie müssen auch daran denken, dass SQL komprimierten Spaltenspeicher verwendet, sodass die Speichernutzung durch die Verteilung der Daten beeinflusst werden kann.

Wenn Sie an der Gesamtspeicherauslastung des Betriebssystems interessiert sind, sollten Sie lieber eine geeignete Überwachungslösung wie Ganglia oder Munin verwenden.

Dass gesagt wird eine Information über den aktuellen Status SparkContext zugreifen können:

sc <- spark_connect(...) 

sc %>% 
    spark_context %>% 
    invoke("getRDDStorageInfo") 

oder durch Abfragen Funken UI:

url <- sc %>% spark_context %>% invoke("uiWebUrl") %>% invoke("get") 

browseURL(paste(url, "storage", sep="/")) 

oder REST API:

app_id <- sc %>% spark_context %>% invoke("applicationId") 
httr::GET(paste(
    url, "api", "v1", "applications", app_id, "storage", "rdd", sep="/" 
)) 
Verwandte Themen