разделить spark rdd на 2 отдельных файла на основе определенных ключей - PullRequest
0 голосов
/ 16 ноября 2018

Я использую Cloudera VM, терминал linux и spark версии 1.6.0

Допустим, у меня есть следующий набор данных:

Priority, qty, sales => Я незаголовки импорта.

низкий, 6,261.54

высокий, 44,1012

низкий, 1,240

высокий, 25,2500

Iмогу загрузить "val inputFile = sc.textFile (" file: ///home/cloudera/stat.txt ")

Я могу отсортировать" inputFile.sortBy (x => x (1), true) .collect

но я хочу разместить данные с низким и высоким приоритетом в 2 отдельных файла.

Это будет фильтр, редукция или разбиение?как лучше я могу это сделать?Если мне удастся получить помощь, я думаю, что смогу обернуть голову, создав СДР с приоритетом и продажами, количеством и продажами.

1 Ответ

0 голосов
/ 16 ноября 2018

Возможно, это не лучшее решение, но вы можете использовать 2 фильтра для создания двух разных СДР, один фильтр удалить нижнюю строку, другой - верхнюю линию, а затем сохранить в HDFS.

inputFile.filter($"Priority" == "low").saveAsTextFile("low_file");
inputFile.filter($"Priority" == "high").saveAsTextFile("high_file");
...