TGViewer
Big Data Science [RU] Big Data Science [RU] @bdscience_ru · 1.62K subscribers
Post #16 182
🥁Как удалить дубли в датасете при работе с Apache Spark?
Используйте следующие методы API-интерфейсов фреймворка:
• distinct() ¬- самый простой и часто использующийся способ убрать из датафрейма идентичные повторяющиеся строки
• dropDuplicates() – в отличие от distinct(), который не принимает аргументов вообще, в аргументах dropDuplicates() можно указать подмножество столбцов для удаления повторяющихся записей. Поэтому dropDuplicates(Seq <String> colNames) больше подходит, когда нужно обработать только некоторые столбцы из исходного набора данных.
• reduceByKey() – возвращает новый RDD - распределенный набор данных из пар «ключ-значение» (K, V), в котором все значения для одного ключа объединяются в кортеж - ключ и результат выполнения функции reduce для всех значений, связанных с этим ключом. Этот метод удаления дублей ограничен размером Scala-кортежа, который содержит от 2 до 22 элементов. Поэтому reduceByKey() не стоит использовать, когда в ключах или значениях Spark RDD более 22 столбцов.
• collect_set() - функция из API-интерфейса Spark SQL собирает и возвращает набор уникальных элементов. Она не является детерминированной, т.к. порядок результатов зависит от порядка строк, который может измениться после перемешивания, и представляет собой не «настоящую» дедупликацию. По сути, collect_set() – это сворачивание записей путем выполнения groupBy() и сбора уникальных значений для столбца, относящегося к каждой группе.
• написать собственную оконную функцию, чтобы обойти ограничение размера кортежей Scala. Например, разделить RDD по столбцам, отсортировать их и отфильтровать нужные значения.
More from @bdscience_ru
  1. Oct 1, 2026Перезапуск Microsoft Copilot как «суперприложения» Компания Microsoft официально представи…
  2. Sep 25, 2026Распознавание экрана (Onscreen Awareness) Siri научилась понимать, что происходит у вас на…
  3. Sep 15, 2026Reuters раскрыло инцидент со скоординированными действиями ИИ-агентов OpenAI: Расследовани…
  4. Aug 31, 2026Самая ужасная гавайская рубашка Немецкий дизайнер Симон Веккерт разработал гавайскую рубаш…
  5. Aug 25, 2026WeatherNext от Google DeepMind совершил прорыв в метеорологии! Новый ИИ прогнозирует тропи…
  6. Aug 15, 2026🧠 Enterprise AI наконец-то перестал быть «чатиком сбоку» OpenAI опубликовали два исследов…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →