Operações de RDD no PySpark

Fundamentos de Big Data com PySpark

Upendra Devisetty

Science Analyst, CyVerse

Visão geral das operações no PySpark

  • Transformations criam novos RDDs
  • Actions executam computação nos RDDs
Fundamentos de Big Data com PySpark

Transformations de RDD

  • Transformations usam avaliação preguiçosa (Lazy evaluation)

  • Transformations básicas de RDD

    • map(), filter(), flatMap() e union()
Fundamentos de Big Data com PySpark

Transformação map()

  • A transformação map() aplica uma função a todos os elementos do RDD

map

RDD = sc.parallelize([1,2,3,4])
RDD_map = RDD.map(lambda x: x * x)
Fundamentos de Big Data com PySpark

Transformação filter()

  • A transformação filter retorna um novo RDD só com os elementos que passam na condição

filter

RDD = sc.parallelize([1,2,3,4])
RDD_filter = RDD.filter(lambda x: x > 2)
Fundamentos de Big Data com PySpark

Transformação flatMap()

  • A transformação flatMap() retorna múltiplos valores para cada elemento do RDD original

RDD = sc.parallelize(["hello world", "how are you"])
RDD_flatmap = RDD.flatMap(lambda x: x.split(" "))
Fundamentos de Big Data com PySpark

Transformação union()

inputRDD = sc.textFile("logs.txt")
errorRDD = inputRDD.filter(lambda x: "error" in x.split())
warningsRDD = inputRDD.filter(lambda x: "warnings" in x.split())
combinedRDD = errorRDD.union(warningsRDD)
Fundamentos de Big Data com PySpark

Ações de RDD

  • Ações retornam um valor após computar o RDD

  • Ações básicas de RDD

    • collect()

    • take(N)

    • first()

    • count()

Fundamentos de Big Data com PySpark

Ações collect() e take()

  • collect() retorna todos os elementos do conjunto como um array

  • take(N) retorna um array com os primeiros N elementos

RDD_map.collect()
[1, 4, 9, 16]
RDD_map.take(2)
[1, 4]
Fundamentos de Big Data com PySpark

Ações first() e count()

  • first() retorna o primeiro elemento do RDD
RDD_map.first()
[1]
  • count() retorna a quantidade de elementos no RDD
RDD_flatmap.count()
5
Fundamentos de Big Data com PySpark

Vamos praticar operações com RDD

Fundamentos de Big Data com PySpark

Preparing Video For Download...