PySpark: группировка элементов в списке - PullRequest
0 голосов
/ 05 февраля 2020

Желаемый вывод - [((1,2), (3,4), 5)]

rdd = sc.parallelize([1,2,3,4,5])
rdd.map(lambda x: ((x[0],x[1]),(x[2],x[3]),x[4])).collect()

Однако я получаю ошибку -

TypeError: 'int' object is not subscriptable

at org.apache.spark.api.python.BasePythonRunner$ReaderIterator.handlePythonException(PythonRunner.scala:456)
at org.apache.spark.api.python.PythonRunner$$anon$1.read(PythonRunner.scala:592)
at org.apache.spark.api.python.PythonRunner$$anon$1.read(PythonRunner.scala:575)
at org.apache.spark.api.python.BasePythonRunner$ReaderIterator.hasNext(PythonRunner.scala:410)
at org.apache.spark.InterruptibleIterator.hasNext(InterruptibleIterator.scala:37)
at scala.collection.Iterator$class.foreach(Iterator.scala:891)

Пожалуйста исправьте код. Я использую Python с Spark

1 Ответ

1 голос
/ 06 февраля 2020

В соответствии с комментарием Мохамеда Али Джамоауи:

"Если вы хотите иметь список в строке, передайте список списков при построении rdd, как этот rdd = s c .parallelize ([[1 , 2,3,4,5]]) "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...