@@ -232,7 +232,7 @@ def __init__(self, jrdd, ctx, jrdd_deserializer):
232232 self ._id = jrdd .id ()
233233
234234 def _toPickleSerialization (self ):
235- if (self ._jrdd_deserializer == PickleSerializer or
235+ if (self ._jrdd_deserializer == PickleSerializer () or
236236 self ._jrdd_deserializer == BatchedSerializer (PickleSerializer ())):
237237 return self
238238 else :
@@ -1049,7 +1049,9 @@ def saveAsNewAPIHadoopDataset(self, conf, keyConverter=None, valueConverter=None
10491049 @param valueConverter: (None by default)
10501050 """
10511051 jconf = self .ctx ._dictToJavaMap (conf )
1052- self .ctx ._jvm .PythonRDD .saveAsHadoopDataset (self ._toPickleSerialization ()._jrdd , jconf ,
1052+ pickled = self ._toPickleSerialization ()
1053+ batched = isinstance (pickled ._jrdd_deserializer , BatchedSerializer )
1054+ self .ctx ._jvm .PythonRDD .saveAsHadoopDataset (pickled ._jrdd , batched , jconf ,
10531055 True , keyConverter , valueConverter )
10541056
10551057 def saveAsNewAPIHadoopFile (self , path , outputFormatClass , keyClass = None , valueClass = None ,
@@ -1074,7 +1076,9 @@ def saveAsNewAPIHadoopFile(self, path, outputFormatClass, keyClass=None, valueCl
10741076 @param conf: Hadoop job configuration, passed in as a dict (None by default)
10751077 """
10761078 jconf = self .ctx ._dictToJavaMap (conf )
1077- self .ctx ._jvm .PythonRDD .saveAsHadoopFile (self ._toPickleSerialization ()._jrdd , path ,
1079+ pickled = self ._toPickleSerialization ()
1080+ batched = isinstance (pickled ._jrdd_deserializer , BatchedSerializer )
1081+ self .ctx ._jvm .PythonRDD .saveAsHadoopFile (pickled ._jrdd , batched , path ,
10781082 outputFormatClass , keyClass , valueClass , keyConverter , valueConverter ,
10791083 jconf , None , True )
10801084
@@ -1090,7 +1094,9 @@ def saveAsHadoopDataset(self, conf, keyConverter=None, valueConverter=None):
10901094 @param valueConverter: (None by default)
10911095 """
10921096 jconf = self .ctx ._dictToJavaMap (conf )
1093- self .ctx ._jvm .PythonRDD .saveAsHadoopDataset (self ._toPickleSerialization ()._jrdd , jconf ,
1097+ pickled = self ._toPickleSerialization ()
1098+ batched = isinstance (pickled ._jrdd_deserializer , BatchedSerializer )
1099+ self .ctx ._jvm .PythonRDD .saveAsHadoopDataset (pickled ._jrdd , batched , jconf ,
10941100 False , keyConverter , valueConverter )
10951101
10961102 def saveAsHadoopFile (self , path , outputFormatClass , keyClass = None , valueClass = None ,
@@ -1116,7 +1122,9 @@ def saveAsHadoopFile(self, path, outputFormatClass, keyClass=None, valueClass=No
11161122 @param compressionCodecClass: (None by default)
11171123 """
11181124 jconf = self .ctx ._dictToJavaMap (conf )
1119- self .ctx ._jvm .PythonRDD .saveAsHadoopFile (self ._toPickleSerialization ()._jrdd ,
1125+ pickled = self ._toPickleSerialization ()
1126+ batched = isinstance (pickled ._jrdd_deserializer , BatchedSerializer )
1127+ self .ctx ._jvm .PythonRDD .saveAsHadoopFile (pickled ._jrdd , batched ,
11201128 path , outputFormatClass , keyClass , valueClass , keyConverter , valueConverter ,
11211129 jconf , compressionCodecClass , False )
11221130
@@ -1131,7 +1139,9 @@ def saveAsSequenceFile(self, path, compressionCodecClass=None):
11311139 @param path: path to sequence file
11321140 @param compressionCodecClass: (None by default)
11331141 """
1134- self .ctx ._jvm .PythonRDD .saveAsSequenceFile (self ._toPickleSerialization ()._jrdd ,
1142+ pickled = self ._toPickleSerialization ()
1143+ batched = isinstance (pickled ._jrdd_deserializer , BatchedSerializer )
1144+ self .ctx ._jvm .PythonRDD .saveAsSequenceFile (pickled ._jrdd , batched ,
11351145 path , compressionCodecClass )
11361146
11371147 def saveAsPickleFile (self , path , batchSize = 10 ):
0 commit comments