Функция разделения Spark RDD для ноутбуков Jupyter - снять скобки - PullRequest
0 голосов
/ 05 марта 2020

Я беру несколько «столбцов» из предыдущего СДР, а потом хочу разбить второй элемент. Спарк оборачивает его в скобки. как поместить их в одну строку (снять неровности, снять скобки)? Я потратил около 10 часов, чтобы найти решение ... должно быть сделано без использования фрейма. спасибо

separatedRDD =  extractedRDD.map(lambda y: (y[0],y[1].split(' ' , 1),y[2],y[3]))

separatedRDD.take(2) # get output

[(u'2014-03-15:10:10:20',
  [u'Sorrento', u'F41L'],  ############### those are brackets I am talking about...
  u'8cc3b47e-bd01-4482-b500-28f2342679af',
  u'33.6894754264'),
 (u'2014-03-15:10:10:20',
  [u'MeeToo', u'1.0'],
  u'ef8c7564-0a1a-4650-a655-c8bbd5f8f943',
  u'37.4321088904')] 

1 Ответ

0 голосов
/ 05 марта 2020

Это список, поэтому вам просто нужно сгладить его, потянув его элементы один за другим (при условии, что размер всегда будет меньше 2):

separatedRDD.map(lambda y: (y[0], y[1][0], y[1][1], y[2])).collect()

Результат:

[('2014-03-15:10:10:20',
  'Sorrento',
  'F41L',
  '8cc3b47e-bd01-4482-b500-28f2342679af'),
 ('2014-03-15:10:10:20',
  'MeeToo',
  '1.0',
  'ef8c7564-0a1a-4650-a655-c8bbd5f8f943')]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...