取消
顯示的結果
而不是尋找
你的意思是:

. lang。OutOfMemoryError: GC開銷限製超過。(解決)

sarvesh
貢獻者三世

解決方案:

我不需要添加任何遺囑執行人或驅動程序內存中所有我必須要做我的情況下被添加:——選項(“maxRowsInMemory”, 1000)。

之前我甚至不讀9 mb文件現在我剛讀了一個50 mb的文件沒有任何錯誤。

{

瓦爾df=火花.read

.format (“com.crealytics.spark.excel”)。

選項(“maxRowsInMemory”, 1000)。

選項(“頭”,“真正的”)。

加載(“數據/ 12 file.xlsx”)

}

我想讀8 mb的excel文件,

我得到這個錯誤。

我使用intellij如果是2.4.4火花

scala 2.12.12

jdk 1.8和

這是我的代碼:-

瓦爾相依= new SparkConf ()

這裏(“spark.driver.memory”、“4 g”)

這裏(“spark.executor。內存”、“6克”)

/ /這裏(“spark.executor。核”、“2”)

瓦爾火花= SparkSession

構建器

.appName (“trimTest”)

部分(“地方[*]”)

. config (相依)

.getOrCreate ()

瓦爾df=火花.read

.format (“com.crealytics.spark.excel”)。

選項(“頭”,“真正的”)。

加載(“數據/ 12 file.xlsx”)

現在,這些是我的火花界麵截圖,

你能告訴我什麼是主要問題,我怎麼能增加作業執行器的記憶。

編輯火花界麵2編輯火花ui 1

棧:

. lang。OutOfMemoryError: GC開銷限製超過

java.lang.Class.newReflectionData (Class.java: 2511)

java.lang.Class.reflectionData (Class.java: 2503)

java.lang.Class.privateGetDeclaredConstructors (Class.java: 2660)

java.lang.Class.getConstructor0 (Class.java: 3075)

java.lang.Class.newInstance (Class.java: 412)

在sun.reflect.MethodAccessorGenerator 1.美元運行(MethodAccessorGenerator.java: 403)

在sun.reflect.MethodAccessorGenerator 1.美元運行(MethodAccessorGenerator.java: 394)

在java.security.AccessController。doPrivileged(本地方法)

sun.reflect.MethodAccessorGenerator.generate (MethodAccessorGenerator.java: 393)

sun.reflect.MethodAccessorGenerator.generateMethod (MethodAccessorGenerator.java: 75)

在sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java: 53)

sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java: 43)

java.lang.reflect.Method.invoke (Method.java: 498)

sun.reflect.misc.MethodUtil.invoke (MethodUtil.java: 276)

com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn (ConvertingMethod.java: 193)

com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn (ConvertingMethod.java: 175)

com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2 (MXBeanIntrospector.java: 117)

com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2 (MXBeanIntrospector.java: 54)

com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM (MBeanIntrospector.java: 237)

com.sun.jmx.mbeanserver.PerInterface.getAttribute (PerInterface.java: 83)

com.sun.jmx.mbeanserver.MBeanSupport.getAttribute (MBeanSupport.java: 206)

javax.management.StandardMBean.getAttribute (StandardMBean.java: 372)

com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute (DefaultMBeanServerInterceptor.java: 647)

com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute (JmxMBeanServer.java: 678)

com.sun.jmx.mbeanserver.MXBeanProxy GetHandler.invoke美元(MXBeanProxy.java: 122)

com.sun.jmx.mbeanserver.MXBeanProxy.invoke (MXBeanProxy.java: 167)

javax.management.MBeanServerInvocationHandler.invoke (MBeanServerInvocationHandler.java: 258)

在com.sun.proxy。Proxy8美元。getMemoryUsed(未知來源)

org.apache.spark.metrics.MBeanExecutorMetricType.getMetricValue (ExecutorMetricType.scala: 67)

org.apache.spark.metrics.SingleValueExecutorMetricType.getMetricValues (ExecutorMetricType.scala: 46)

在org.apache.spark.metrics.SingleValueExecutorMetricType.getMetricValues (ExecutorMetricType.scala: 44美元)

org.apache.spark.metrics.MBeanExecutorMetricType.getMetricValues (ExecutorMetricType.scala: 60)

18日回複18

sarvesh
貢獻者三世

不不我也隻是安裝它,我認為這是我的機器問題之類的,我沒有做對。

Hubert_Dudek1
尊敬的貢獻者三世

你能試著沒有:

這裏(“spark.driver.memory”、“4 g”)

這裏(“spark.executor。內存”、“6克”)

顯然表明,沒有4 gb免費司機和6 gb免費執行人(你也可以共享硬件集群細節)。

你也不能分配100%火花通常還有其他進程。

自動設置建議。

截圖從2021-11-23 17-30-32我試著讀它沒有這些款我得到同樣的錯誤(gc開銷限製),我在本地運行這些是我的規格。

Hubert_Dudek1
尊敬的貢獻者三世

看來你隻有8 GB ram(可能至少需要4 - 6 GB係統)但你分配10 GB的火花(4 GB司機+ 6 GB執行人)。

你可以分配馬克斯在我看來2 GB一起是否8 GB RAM。甚至1 gb,因為可以在係統進程也上漲。

容易將比你分配與碼頭工人比火花機永久性的ram數量和消耗確切數額。

werners1
尊敬的貢獻者三世

是的,它。8 gb可以運行火花,但我去不超過3 gb, 2 gb的安全可靠。

它看起來像一個ubuntu安裝,這樣不是比windows資源餓但8 gb並不多。

修修補補,我總是去碼頭工人(或一個VM)。

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map