你好,我使用磚加載數據從一個表到另一個δ表。
我用辛巴火花JDBC連接器將數據從源表在我的實例和寫作到δ表在我的磚實例。
源有~ 160行和300列的數據。
雖然寫作到三角洲表在我的磚實例,我得到以下錯誤:
調用o494.save時發生一個錯誤。org.apache.spark。SparkException:工作階段失敗而終止:任務0階段4.0失敗了4次,最近的失敗:在舞台上失去了任務0.3 4.0 (TID 6 10.82.228.157執行人8):java.sql。SQLException異常(辛巴):[SparkJDBCDriver](500051)查詢/錯誤處理語句。錯誤代碼:0,SQL狀態:org.apache.hive.service.cli。HiveSQLException:錯誤運行查詢:org.apache.spark。SparkException:工作階段失敗而終止:序列化結果的總大小16(4.1直布羅陀海峽)大於spark.driver任務。maxResultSize 4.0直布羅陀海峽。
還附加的詳細錯誤日誌errorlog.txt。
這是我的代碼片段寫作到三角洲表:
file_location = ' / dbfs perf_test / sample_file '選項= {“table_name”:“sample_file”,“overwriteSchema”:真的,“mergeSchema”:真正}df.repartition (8) .write.format(δ).mode(覆蓋).options(* *選項).save (file_location)
我的磚實例的配置是:
r4.2xlarge 61 GB內存,8核10節點(鱗片16節點)
這是我的火花配置:
火花。序列化器org.apache.spark.serializer。KryoSerializer spark.kryoserializer.buffer.max 2047 spark.scheduler。公平spark.executor模式。核心8 spark.executor。42克spark.driver記憶。maxResultSize 0 spark.driver(試著用0或50克)。42克spark.driver記憶。核心8
我也嚐試建立spark.driver。maxResultSize值0到50克不幫助我。