Como processar RDDs usando uma classe Python?

Estou implementando um modelo no Spark como uma classe python e sempre que tento mapear um método de classe para um RDD, ele falha. Meu código atual é mais complicado, mas esta versão simplificada está no centro do problema:

class model(object):
    def __init__(self):
        self.data = sc.textFile('path/to/data.csv')
        # other misc setup
    def run_model(self):
        self.data = self.data.map(self.transformation_function)
    def transformation_function(self,row):
        row = row.split(',')
        return row[0]+row[1]

Agora, se eu executar o modelo assim (por exemplo):

test = model()
test.run_model()
test.data.take(10)

Estou tendo o erro a seguir:

Exceção: parece que você está tentando fazer referência ao SparkContext a partir de uma variável de transmissão, ação ou transformação. O SparkContext pode ser usado apenas no driver, não no código executado nos trabalhadores. Para mais informações, consulte SPARK-5063.

Eu brinquei um pouco com isso, e parece ocorrer com confiabilidade sempre que tento mapear um método de classe para um RDD dentro da classe. Confirmei que a função mapeada funciona bem se eu implementar fora de uma estrutura de classe, então o problema definitivamente tem a ver com a classe. Existe uma maneira de resolver isso?

questionAnswers(1)

yourAnswerToTheQuestion