1
pandasUDF และ pyarrow 0.15.0
ฉันเพิ่งเริ่มรับข้อผิดพลาดพวงของจำนวนpysparkงานที่ทำงานบนกลุ่ม EMR ข้อผิดพลาดคือ java.lang.IllegalArgumentException at java.nio.ByteBuffer.allocate(ByteBuffer.java:334) at org.apache.arrow.vector.ipc.message.MessageSerializer.readMessage(MessageSerializer.java:543) at org.apache.arrow.vector.ipc.message.MessageChannelReader.readNext(MessageChannelReader.java:58) at org.apache.arrow.vector.ipc.ArrowStreamReader.readSchema(ArrowStreamReader.java:132) at org.apache.arrow.vector.ipc.ArrowReader.initialize(ArrowReader.java:181) at org.apache.arrow.vector.ipc.ArrowReader.ensureInitialized(ArrowReader.java:172) at org.apache.arrow.vector.ipc.ArrowReader.getVectorSchemaRoot(ArrowReader.java:65) at org.apache.spark.sql.execution.python.ArrowPythonRunner$$anon$1.read(ArrowPythonRunner.scala:162) at org.apache.spark.sql.execution.python.ArrowPythonRunner$$anon$1.read(ArrowPythonRunner.scala:122) at org.apache.spark.api.python.BasePythonRunner$ReaderIterator.hasNext(PythonRunner.scala:406) at org.apache.spark.InterruptibleIterator.hasNext(InterruptibleIterator.scala:37) at org.apache.spark.sql.execution.python.ArrowEvalPythonExec$$anon$2.<init>(ArrowEvalPythonExec.scala:98) at org.apache.spark.sql.execution.python.ArrowEvalPythonExec.evaluate(ArrowEvalPythonExec.scala:96) at org.apache.spark.sql.execution.python.EvalPythonExec$$anonfun$doExecute$1.apply(EvalPythonExec.scala:127)... พวกเขาดูเหมือนจะเกิดขึ้นในการapplyทำงานของซีรีส์แพนด้า การเปลี่ยนแปลงเดียวที่ฉันพบคือpyarrowการอัปเดตในวันเสาร์ (05/10/2019) การทดสอบดูเหมือนจะทำงานกับ 0.14.1 ดังนั้นคำถามของฉันคือถ้าใครรู้ว่านี่เป็นข้อผิดพลาดใน pyarrow ที่ปรับปรุงใหม่หรือมีการเปลี่ยนแปลงที่สำคัญที่จะทำให้ pandasUDF ยากที่จะใช้ในอนาคตหรือไม่