Уменьшить по ключу для пользовательского метода в DataFrame - PullRequest
0 голосов
/ 01 октября 2018

У меня есть случай использования, где у меня есть конфигурация csv (может быть загружен в dataframe).Конфигурация: Ключ Тип столбец значенияkey1 Type1 a C1ключ1 тип1 b C1key2 Type2 c C2key3 Type3 d C3

Еще один очень большой набор данных со столбцами более 22 (превышает предел кортежа в Scala 2.0 Spark).

Мне нужно извлечь информацию из фрейма данных конфигурации о том, какие операции мне нужно выполнить с этим огромным набором данных.Например, если присоединен Type1, то мне нужно взять все значения key1 и type1 (a, b) в этом случае и объединиться со связанным столбцом (здесь C1) в огромном наборе данных и т. Д. Type2 - фильтр, тогда мне нужнофильтровать значение c в огромном наборе данных.Я хотел бы разработать наиболее оптимизированный способ продолжить это.

На выходе будет набор данных со строками огромного набора данных, который соответствует критериям, заданным в конфигах, но также и с добавленным ключом столбца, просто чтобы определить, какая строка в выходном наборе данных и из каких критериев приходит.

Вопрос здесь заключается в том, могу ли я обработать эту параллель?

как в первом варианте: - 1. загрузить набор данных 2. загрузить конфигурацию во фрейм данных => Tuple (key, Row) => Reduce By Key =>написать пользовательскую функцию, которая извлекает тип данного ключа, а затем выполняет операцию с ранее загруженным набором данных.(используя некоторые кейсы типа: type == join / filter и т. д.)

Как мне это сделать?Это оптимальный способ сделать это?Делать это параллельно можно или нет?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...