嗨,我正在處理一個小數據集(少於300 Mb)由五個查詢運行火花。這些查詢的結果是使用python和合並成一個數據幀解析。然後我試著寫這三角洲湖表使用特點:
parsedData.write.format(δ).mode(“覆蓋”)。選項(“mergeSchema”,“真正的”).save (“/ mnt /功能/ dev_customer_account_info”)
這上麵一行代碼總是導致內存飆升導致崩潰(60 Gb),無論parsedData的大小。
集群的配置為:
1司機61 GB內存,8核
運行時11.3.x-cpu-ml-scala2.12
錯誤是這樣的:
. lang。VM OutOfMemoryError:要求數組大小超過限製在java.lang.StringCoding.encode (StringCoding.java: 350) java.lang.String.getBytes (String.java: 941) org.apache.spark.unsafe.types.UTF8String.fromString (UTF8String.java: 163) org.apache.spark.sql.catalyst.expressions.StructsToJson.getAndReset 1美元(jsonExpressions.scala: 893) org.apache.spark.sql.catalyst.expressions.StructsToJson anonfun轉換器5美元美元。(jsonExpressions.scala: 904) org.apache.spark.sql.catalyst.expressions.StructsToJsonλ12421/1187286213美元美元。應用(未知源)org.apache.spark.sql.catalyst.expressions.StructsToJson.nullSafeEval (jsonExpressions.scala: 947) org.apache.spark.sql.catalyst.expressions.UnaryExpression.eval (Expression.scala: 671) org.apache.spark.sql.catalyst.expressions.GeneratedClass SpecificMutableProjection美元。應用(未知源)org.apache.spark.sql.execution.python.EvalPythonExec anonfun doExecute美元10美元。(EvalPythonExec.scala: 127) org.apache.spark.sql.execution.python.EvalPythonExecλ12407/1574333163美元美元。應用(未知源)scala.collection.Iterator不久美元10.美元未來(Iterator.scala: 461) scala.collection.Iterator不久美元10.美元未來(Iterator.scala: 461) org.apache.spark.util.GroupedAsArrayIterator.next (GroupedAsArrayIterator.scala: 45) scala.collection.Iterator不久美元10.美元未來(Iterator.scala: 461) scala.collection.Iterator.foreach (Iterator.scala: 943) scala.collection.Iterator.foreach (Iterator.scala: 943)美元scala.collection.AbstractIterator.foreach (Iterator.scala: 1431)美元org.apache.spark.api.python.PythonRDD .writeIteratorToStream (PythonRDD.scala: 464) org.apache.spark.sql.execution.python.PythonUDFRunner不久美元1.美元writeiteratortostream (PythonUDFRunner.scala: 55) org.apache.spark.api.python.BasePythonRunner WriterThread美元。anonfun運行$ 1美元(PythonRunner.scala: 573) org.apache.spark.api.python.BasePythonRunner WriterThreadλ11996/626269711美元美元。應用(未知源)org.apache.spark.util.Utils .logUncaughtExceptions美元(Utils.scala: 2340)美元org.apache.spark.api.python.BasePythonRunner WriterThread.run (PythonRunner.scala: 365)
我試著運行與分頁查詢,減少的數據應該保存到表,可能減少100 Mb,但是這部分總是消耗所有可用的ram和崩潰。
數據幀的內容都很標準。我虧本在這裏能做什麼。我真的很感激任何評論、思想或想法。
非常感謝你