2016-04-05 9 views
-1

ile kapatarak (işlev) giriş yaparken 'kilitle' nesnesini seçemezsiniz _log.info (e) 'nin düzgün çalışmaması iyi çalışır. _log.info (e) ile Dekapaj Hata yükseltir:pickle.PicklingError: mapPartitions

_log = logging.getLogger(__name__) 
def write_tsdb(partition): 
    count = 0 
    failed_count = 0 
    for value in partition: 
     try: 
     //write to tsdb 
     count += 1 
     except Exception, e: 
     **_log.info(e)** 
     print e 
     failed_count += 1 
     continue 
    return count, failed_count 

def main(): 
     logging.basicConfig(level=logging.INFO) 

     details = left outer join(rdd1) & (rdd2) 
     tsdb_count = details.mapPartitions(write_tsdb) 
     print tsdb_count.take(30) 

cevap

0

Sizin except Exception, e: yanlıştır kilit nesne turşu olamaz.

Bunu şöyle olmalıdır: except Exception as e:

yanlışlıkla bir istisna olduğunu düşünerek, bir yerlerde bir e değişken için bir değer tanımlı (? Bazı Lock) ve burada, kazara, o oturum açmaya mümkündür.