2016-06-30 68 views
0

我的初始RDD是一個塊的列表,其中每個塊都是一行本身的列表。所以這是PySpark:如何按照數組中的第一項進行映射

[infos_var1,infos_var2]

每塊

VAR_NAME,var_value1,var_value2,var_value3

原始數據如下:

[[u'::852-YF-007\t', 
    u'2016-05-10 00:00:00\t0', 
    u'2016-05-09 23:59:00\t0', 
    u'2016-05-09 23:42:00\t0'], 
[u'::852-YF-008\t', 
    u'2016-05-10 00:00:00\t0', 
    u'2016-05-09 23:59:00\t0', 
    u'2016-05-09 23:42:00\t0']] 

我的問題是如何使用地圖函數來提取變量名稱(852-YF-007和852-YF-008)作爲關鍵字,並用值作爲時間戳的行(這裏:每行3個變量?

也許有人可以給我一個提示如何在我的RDD上使用地圖。我在想是這樣的:

df.map(lambda (k, v): (v[0], v[0-vEND])) 

PS:原帖我如何創建我的初始RDD可以found here

+2

這樣的事情切片(我手頭沒有任何pyspark)? 'df.map(lambda i:(i [0],i [1:]))' – ccheneson

+0

發佈它作爲答案,我會接受它。 – Matthias

回答

1

你有什麼是產品清單列表,而不是元組

試試這個:

df.map(lambda i : (i[0], i[1:])) 

對於i[1:]部分,查找在here

相關問題