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

toPandas()導致Apache IndexOutOfBoundsException箭頭

ivanychev
貢獻者

使用DBR 10.0

當調用toPandas()職工與IndexOutOfBoundsException失敗。它看起來像ArrowWriter。sizeInBytes(這看起來像一個專有的方法,因為我找不到它在OSS)調用箭頭的getBufferSizeFor失敗錯誤。這個問題的根源是什麼?

這是一個完整的堆棧跟蹤的樣品:

. lang。IndexOutOfBoundsException:指數:16384,長度:4(預期:範圍(0,16384))在org.apache.arrow.memory.ArrowBuf.checkIndexD (ArrowBuf.java: 318) org.apache.arrow.memory.ArrowBuf.chk (ArrowBuf.java: 305) org.apache.arrow.memory.ArrowBuf.getInt (ArrowBuf.java: 424) org.apache.arrow.vector.complex.BaseRepeatedValueVector.getBufferSizeFor (BaseRepeatedValueVector.java: 229) org.apache.arrow.vector.complex.ListVector.getBufferSizeFor (ListVector.java: 621) org.apache.spark.sql.execution.arrow.ArrowFieldWriter.getSizeInBytes (ArrowWriter.scala: 165) org.apache.spark.sql.execution.arrow.ArrowWriter.sizeInBytes (ArrowWriter.scala: 118) org.apache.spark.sql.execution.arrow.ArrowConverters立刻1美元。anonfun美元下1美元(ArrowConverters.scala: 224) scala.runtime.java8.JFunction0專門sp.apply美元(JFunction0專門sp.java美元:23)org.apache.spark.util.Utils .tryWithSafeFinally美元(Utils.scala: 1647) org.apache.spark.sql.execution.arrow.ArrowConverters不久美元1.美元未來(ArrowConverters.scala: 235) org.apache.spark.sql.execution.arrow.ArrowConverters不久美元1.美元未來(ArrowConverters.scala: 199) scala.collection.Iterator不久美元10.美元未來(Iterator.scala: 461) scala.collection.Iterator.foreach (Iterator.scala: 943) scala.collection.Iterator.foreach美元(Iterator.scala: 943)

16日回複16

正如我指出的那樣,“to_pandas ()偉大的作品與spark.sql.execution.arrow.pyspark。啟用”設置為“false”。我知道to_pandas_on_spark()是一種選擇,但我需要一個熊貓DataFrame,不是Pandas-on-Spark DataFrame。

匿名
不適用

關閉箭頭將會增加你的執行時間。它使用類似applyinpandas也許會好些。您可能需要調整批量大小https://spark.apache.org/docs/3.0.0/sql-pyspark-pandas-with-arrow.html setting-arrow-batch-size

再一次,我不能用‘applyinpandas’,因為我需要收集數據來給一個毫升模型。我需要一個*熊貓dataframe *。

我在司機有足夠的內存(關掉箭頭使代碼工作)。

匿名
不適用

applyinpandas接受一個函數參數,可以一個毫升模型。

我們訓練一個毫升模型,不適用。我們需要取回一批數據作為熊貓dataframe喂成一個模型進行訓練。

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

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

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

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

Baidu
map