pyspark streaming给出了ImportError:从检查点读取时没有名为_winreg的模块

时间:2016-04-13 12:51:06

标签: pyspark spark-streaming

我正在使用pyspark流式传输并启用了检查点。 如果作业失败并且我使用保存的检查点重新启动,则会出现异常 ImportError:没有名为_winreg的模块。

如果删除检查点并开始工作,则没有问题。

我在Ubuntu上运行它。 Pyspark应用程序作为jupyter笔记本的一部分运行。重新启动笔记本时发生故障。此时,程序应该读取检查点并从上次消耗的偏移开始但是失败。 以下命令用于通过pyspark启动笔记本: IPYTHON_OPTS =" notebook --ip = 0.0.0.0"的/ opt /火花/ bin中/ pyspark

这是我创建流式上下文的方式:

ssc = StreamingContext.getActiveOrCreate("/mnt/secure/checkpoints/" + app_name, lambda : create_streaming_context(app_name, batch_interval, max_rate_per_partition))
下面的

是异常追踪的一部分:

  

文件" /usr/lib/python2.7/dist-packages/scipy/lib/six.py",第105行,在_resolve中       return _import_module(self.mod)     文件" /usr/lib/python2.7/dist-packages/scipy/lib/six.py",第76行,在_import_module中       导入(名称)   ImportError:没有名为_winreg

的模块      

at org.apache.spark.util.Utils $ .tryOrIOException(Utils.scala:1207)       在org.apache.spark.streaming.api.python.TransformFunction.writeObject(PythonDStream.scala:100)       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)       at java.lang.reflect.Method.invoke(Method.java:498)       at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1028)       at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496)       at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)       在java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)

0 个答案:

没有答案