我已经阅读了一些问题,询问有关工作人员序列化的多处理模块,cStringIO.StringO
无法进行腌制。但是,我有一个cStringIO.StringI
(注意最后一个资本'我',输入'我认为)。我不知道如何解决这个问题。我试图使用PyPDF2将一系列S3存储桶键映射到Pdf对象。到目前为止,如果我在我的本地系统上这样做很好,但如果我对工人这样做,那就错了。这是包含错误消息的代码:
def createPdfObject(pdfIdKey):
pdfId = str(pdfIdKey[0])
pdfKey = pdfIdKey[1]
pdfKey.get_contents_to_filename(pdfId+'.pdf')
try:
pdfObj = pdf.PdfFileReader(pdfId+'.pdf')
except pdf.utils.PdfReadError as ex:
pdfObj = None
message = "Traceback: {0}\nException: {1} for PDF id: {2}. Arguments:\n{3!r}\nIgnoring this file. Returned NoneType"\
.format(traceback.format_exc(), type(ex).__name__, pdfId, ex.args)
print message
pass
return (pdfId, pdfObj)
pdfDataRDD = filesRDD.map(lambda x: createPdfObject(x))
Databricks服务器上没有完整回溯的错误(超长):
PicklingError: Can't pickle <type 'cStringIO.StringI'>: attribute lookup cStringIO.StringI failed