Я пытаюсь использовать только операции на основе rdd. У меня есть файл, похожий на этот:
0, Alpha,-3.9, 4, 2001-02-01, 5, 20
0, Beta,-3.8, 3, 2002-02-01, 6, 21
1, Gamma,-3.7, 8, 2003-02-01, 7, 22
0, Alpha,-3.5, 5, 2004-02-01, 8, 23
0, Alpha,-3.9, 6, 2005-02-01, 8, 27
Сначала я загружаю свои данные в rdd следующим образом:
rdd = sc.textFile(myDataset)
Затем меня интересуют отдельные элементы first elements
в каждом сыром. значение Alpha, Beta, Gamma
. В этом случае я ожидаю 3
различных элементов. Это то, что я сделал,
coll = [] # to collect the distinct elements
list_ = rdd.collect() # to get the list
for i in list_:
result = myFun(i) # this function I created to process line by line and return a tuple.
if result[1] not in coll:
coll.append(result[1])
Есть ли более быстрый / лучший способ сделать это, используя только операцию на основе rdd?