вот мой фрейм данных pyspark выглядит так:
+------------+-----+----------+--------+
|session_id |url |zip_code |os_sys |
+------------+-----+----------+--------+
| 1 | a | 10010 | ios |
| 1 | b | 10010 | ios |
| 1 | c | 10010 | ios |
| 1 | d | 10010 | ios |
| 2 | e | 10013 | win |
| 2 | f | 10013 | win |
я хочу преобразовать данные в определенный формат json:
[
1:{
session_hist: [{url: a}, {url: b}, {url: c},{url: d}],
zip_code: 10010,
os_sys: ios
},
2:{
session_hist: [{url: e},{url: f}],
zip_code: 10013,
os_sys: win
}
]
эта проблема бросила мне вызов, так как мне сначала нужноагрегировать по session_id, тогда мне нужно уменьшить значения строк zip_code и os_sys до одного в каждой группе session_id.
Обратите внимание, что мои данные очень большие, миллиарды строк. Я не думаю, что зацикливание строк может быть эффективным.
Не могли бы вы поделиться идеями?