-5
У меня есть этот кусок кода в ScalaPython Эквивалентность Scala кодекса Спарк
val file = sc.textFile(filelocation)
//Inital edge list that is to be passed to Iterate function
var edges : RDD[(Int, Int)] = file.flatMap{
s => val nodes = s.split("\\s+")
Seq((nodes(0).toInt, nodes(1).toInt))
}
edges.collect()
Я читаю локальный файл, вход
1 0
0 3
3 4
2 4
Выходной код:
Array[(Int, Int)] = Array((1,0), (0,3), (3,4), (2,4))
Я хочу достичь такой же вещи в python. Я делаю это прямо сейчас
filelocation = "/FileStore/tables/nr8rkr051469528365715/cc_test-3be20.txt"
file = sc.textFile(filelocation)
def tokenize(text):
row = text.split('\\s+')
return row
result = file.flatMap(tokenize)
И я получаю это как выход
Out[5]: [u'1 0', u'0 3', u'3 4', u'2 4']
просто измените свою разделенную строку на «» на одно пространство. В python split получает строку. – Aquiles
Я пробовал этот @Aquiles. Это дало бы мне это как выход Out [22]: [u'1 ', u'0', u'0 ', u'3', u'3 ', u'4', u'2 ', u '4'] Но я хочу, чтобы что-то список список кортежей для каждой строки в файле – jems
это просто исправить, но я не знаю, если это то, что вы хотите, но вы всегда можете попробовать вернуться [строка] или список (строка) и посмотреть что это делает ... У меня нет библиотеки sc, поэтому я не могу проверить – Aquiles