पांडासुडीएफ और पायरो 0.15.0


12

मैंने हाल ही में pysparkEMR क्लस्टर्स पर कई नौकरियों में त्रुटियों का एक समूह शुरू किया है । इरोस हैं

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 के साथ काम करने लगते हैं

तो मेरा प्रश्न यह है कि क्या किसी को पता है कि क्या यह नए अपडेट किए गए पायरो में बग है या क्या कुछ महत्वपूर्ण बदलाव है जो भविष्य में पांडासुडीएफ का उपयोग करना कठिन बना देगा?

जवाबों:


15

यह बग नहीं है। हमने 0.15.0 में एक महत्वपूर्ण प्रोटोकॉल परिवर्तन किया है जो जावा में एरो के पुराने संस्करणों के साथ पायरो के डिफ़ॉल्ट व्यवहार को असंगत बनाता है - आपका स्पार्क वातावरण एक पुराने संस्करण का उपयोग करता प्रतीत होता है।

आपके विकल्प हैं

  • वातावरण चर सेट करें ARROW_PRE_0_15_IPC_FORMAT=1जहाँ से आप पायथन का उपयोग कर रहे हैं
  • अब के लिए डाउनग्रेड करने के लिए <0.15.0 डाउनग्रेड करें।

उम्मीद है कि स्पार्क समुदाय जावा में जल्द ही 0.15.0 पर अपग्रेड करने में सक्षम होगा, इसलिए यह समस्या दूर हो जाएगी।

इसकी चर्चा http://arrow.apache.org/blog/2019/10/06/0.15.0-release/ में की गई है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.