Это домашнее задание вопрос:Извлечение словаря из РДА в Pyspark
У меня есть RDD
, который представляет собой набор ОСА кортежей. У меня также есть функция, которая возвращает словарь из каждого входного кортежа. Так или иначе, противоположность функции уменьшения.
С картой я могу легко перейти от RDD
кортежей к словарям RDD
. Но, поскольку словарь представляет собой набор пар (ключ, значение), я хотел бы преобразовать словарные словаря RDD
в RDD
(ключ, значение) кортежей с каждым содержанием словаря.
Таким образом, если мой RDD
содержит 10 кортежей, то я получаю RDD
, содержащий 10 словарей с 5 элементами (например), и, наконец, я получаю RDD
из 50 кортежей.
Я предполагаю, что это должно быть возможно, но, как? (Может быть, проблема в том, что я не знаю, как эта операция называется на английском языке)
Несомненно! Не могли бы вы объяснить, какая разница между flatMap и картой? Я не думал, что flatMap для этих ситуаций ... –
'flatMap' использует функцию, которая возвращает коллекцию ко всем элементам этого RDD, а затем выравнивает результаты. Посмотрите на подпись Scala 'Rdd.flatMap', которая упрощена: '(f: (T) ⇒ TraversableOnce [U]): RDD [U]' – zero323
Я добавил несколько примеров, отличных от Spark. Надеюсь, это будет полезно. – zero323