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

. 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

werners1
尊敬的貢獻者三世

你可以嚐試與當地[2]而不是當地[*]?

同時加強司機內存喜歡你90%的RAM。

如您在本地模式下運行,驅動程序和執行程序都運行在相同的進程由司機控製內存。

所以你可以跳過執行程序參數。

sarvesh
貢獻者三世

我還是一樣的,這裏有別的東西,我失蹤,我的內存消耗是現在7 gb的8 gb可用。

werners1
尊敬的貢獻者三世

你不做其他任何事但spark.read。excel,對吧?

sarvesh
貢獻者三世

我正在做df.show (),

沒有其他的

werners1
尊敬的貢獻者三世

很奇怪,當我運行在本地火花,我安裝它,沒有配置任何遺囑執行人,隻是工作。

你定義任何執行人以任何機會嗎?

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

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

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

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

Baidu
map