Pyspark - ошибка при попытке выполнить итерацию по пустому массиву - PullRequest
0 голосов
/ 02 октября 2018

У меня есть RDD с идентификатором в качестве ключа и массивом значений в качестве значений.

Для каждого значения в массиве я хочу создать еще один RDD, который дает 1 для значения больше 0 и 0 для значения, равного 0.

Я попытался следующий код:

RDD2 = RDD1.foreach(lambda x: 1 if np.nditer(x) > 0 else 0)/
.map(lambda x: (x[0],(x[1])))

но выдает следующую ошибку: AttributeError: у объекта 'NoneType' нет атрибута 'map', и я не уверен, почему

Есть идеи, как это исправить?

Спасибо

1 Ответ

0 голосов
/ 04 октября 2018

На случай, если кому-то интересно, вот как я все исправил:

RDD2 = RDD1.mapValues(lambda y: map(lambda x: 1 if x > 0 else 0, y))
...