[英]Jupyter Notebooks Spark RDD split function - remove brackets
我正在從以前的 RDD 中獲取一些“列”,而不是想要拆分第二個元素。 Spark 將其包裹在括號中。 如何將它們放在一行中(取消它們的鋸齒,因此刪除括號)? 我花了大約 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')]
這是一個列表,所以你只需要一個一個地拉動它的元素來展平它(假設大小總是小到 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')]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.