Дополнительные действия

Основы Big Data с PySpark

Upendra Devisetty

Science Analyst, CyVerse

Действие reduce()

  • Действие reduce(func) используется для агрегации элементов обычного RDD

  • Функция должна быть коммутативной (порядок операндов не влияет на результат) и ассоциативной

  • Пример действия reduce() в PySpark

x = [1,3,4,6]
RDD = sc.parallelize(x)
RDD.reduce(lambda x, y : x + y)
14
Основы Big Data с PySpark

Действие saveAsTextFile()

  • Действие saveAsTextFile() сохраняет RDD в текстовый файл внутри директории, каждый раздел — в отдельный файл
RDD.saveAsTextFile("tempFile")
  • Метод coalesce() позволяет сохранить RDD в виде одного текстового файла
RDD.coalesce(1).saveAsTextFile("tempFile")
Основы Big Data с PySpark

Действия над парными RDD

  • Действия RDD, доступные для парных RDD в PySpark

  • Действия над парными RDD используют данные в формате «ключ — значение»

  • Примеры действий над парными RDD

    • countByKey()

    • collectAsMap()

Основы Big Data с PySpark

Действие countByKey()

  • countByKey() доступен только для типа (K, V)

  • Действие countByKey() подсчитывает количество элементов для каждого ключа

  • Пример countByKey() на простом списке

rdd = sc.parallelize([("a", 1), ("b", 1), ("a", 1)])
for kee, val in rdd.countByKey().items():
  print(kee, val)
('a', 2)
('b', 1)
Основы Big Data с PySpark

Действие collectAsMap()

  • collectAsMap() возвращает пары «ключ — значение» из RDD в виде словаря

  • Пример collectAsMap() на простом кортеже

sc.parallelize([(1, 2), (3, 4)]).collectAsMap()
{1: 2, 3: 4}
Основы Big Data с PySpark

Давайте потренируемся!

Основы Big Data с PySpark

Preparing Video For Download...