У меня есть список файлов csv, каждый из которых содержит группы имен категорий в качестве столбцов заголовка. Каждая строка представляет собой список пользователей с логическим значением (0, 1), являются ли они частью этой категории или нет. Каждый из файлов csv не имеет одинакового набора категорий заголовков.Доступ к глобальному поиску Apache Spark
Я хочу создать композитную CSV во всех файлах, которая имеет следующий вывод:
- Header является объединение всех заголовков
- Каждая строка представляет собой уникальный пользователь с логическое значение, соответствующее колонка категории
Способ, которым я хотел решить это, - создать кортеж user_id и уникальный category_id для каждой ячейки с «1». Затем уменьшите все эти столбцы для каждого пользователя, чтобы получить окончательный вывод.
Как создать кортеж для начала? Могу ли я получить глобальный поиск по всем категориям?
Пример данных:
File 1
user_id,cat1,cat2,cat3
21321,,,1,
21322,1,1,1,
21323,1,,,
Файл 2
user_id,cat4,cat5
21321,1,,,
21323,,1,,
Выход
user_id,cat1,cat2,cat3,cat4,cat5
21321,,1,1,,,
21322,1,1,1,,,
21323,1,1,,,,
Пример данных поможет проиллюстрировать ваши исходные данные и желаемый результат. – maasg
Добавлен пример. – user1927059
Что вы делаете в случае конфликта? напримеродин csv говорит user_id, cat2 = 0, а другой user_id, cat2 = 1?. Кроме того, что вы пробовали до сих пор? – maasg