Запись в несколько выходов по ключу Spark - одно задание Spark

Как вы можете писать на несколько выходов в зависимости от ключа, используя Spark в одном задании.

Связанные с:Запись в несколько выходов по ключу Scalding Hadoop, одно задание MapReduce

Например.

sc.makeRDD(Seq((1, "a"), (1, "b"), (2, "c")))
.writeAsMultiple(prefix, compressionCodecOption)

обеспечитcat prefix/1 является

a
b

а такжеcat prefix/2 было бы

c

РЕДАКТИРОВАТЬ: я недавно добавил новый ответ, который включает полный импорт, pimp и сжатый кодек, см.https://stackoverflow.com/a/46118044/1586965, что может быть полезно в дополнение к более ранним ответам.

Ответы на вопрос(10)

Ваш ответ на вопрос