У меня есть json, который выглядит следующим образом:
{
"cols": [
"id",
"value"
],
"data": [
[
1,
"0.10259593440335"
],
[
2,
"0.0061205302736639"
],
[
3,
"-0.36367513456978"
],
[
4,
"0.080167833573921"
],
.
.
.
А вот мой код, который использует PySpark для чтения данных:
import sys
sys.path.insert(0, '.')
from pyspark import SparkContext, SparkConf
def strip(line: str):
if line[-1] == ',':
return float(line[3:-1])
else:
return float(line[4:-1])
if __name__ == "__main__":
conf = SparkConf().setAppName("airports").setMaster("local[*]")
sc = SparkContext(conf = conf)
json = sc.textFile("dataMay-31-2017.json")
jsonCol = json.filter(lambda line: '\t\t\t' in line)
jsonCol = jsonCol.map(strip)
После этой последней операции с картой у меня естьи RDD, который содержит следующие элементы:
[1.0, 0.10259593440335, 2.0, 0.0061205302736639, 3.0, -0.36367513456978, 4.0, 0.080167833573921,...
Теперь я хотел бы выполнить операцию, которая выдала бы мне и RDD кортежей из двух:
[(1.0, 0.10259593440335), (2.0, 0.0061205302736639), (3.0, -0.36367513456978), (4.0, 0.080167833573921),...
Что было бы правильнымспособ сделать это?