Если у меня есть список словарей, который выглядит примерно так:
list = [{'a': 1, 'b': 2, 'c': 3}, {'b': 4, 'c': 5, 'd': 6, 'e': 7}]
Как я могу преобразовать список в фрейм данных Spark, не удаляя ключи, которые не могут быть общими для словарей? Например, если я использую s c .parallelize (list) .toDF (), результирующий фрейм данных будет иметь столбцы 'a', 'b' и 'c', а столбец 'a' будет нулевым для второго словарь, и столбцы 'd' и 'e' из второго словаря будут полностью отброшены.
Из-за того, что я играю с порядком словарей, я вижу, что он относится к ключам в словаре, который появляется первым в списке, поэтому, если бы я поменял местами словари в моем примере выше, мой результирующий кадр данных будет иметь столбцы 'b', 'c', 'd' и 'e'.
В действительности в этом списке будет гораздо больше двух словарей, и не будет никакой гарантии, что ключи будут одинаковыми от словаря к словарю, поэтому важно найти надежный способ обработки потенциально разных ключей.