Fundamentos de Big Data com PySpark
Upendra Devisetty
Science Analyst, CyVerse
A ação reduce(func) agrega os elementos de um RDD comum
A função deve ser comutativa (ordem dos operandos não altera o resultado) e associativa
Exemplo de ação reduce() em PySpark
x = [1,3,4,6]
RDD = sc.parallelize(x)
RDD.reduce(lambda x, y : x + y)
14
saveAsTextFile() salva o RDD em um arquivo texto dentro de um diretório, com cada partição como um arquivo separadoRDD.saveAsTextFile("tempFile")
coalesce() pode salvar o RDD como um único arquivo textoRDD.coalesce(1).saveAsTextFile("tempFile")
Ações de RDD disponíveis para pair RDDs do PySpark
Pair RDDs aproveitam dados chave-valor
Exemplos de ações em pair RDDs
countByKey()
collectAsMap()
countByKey() só está disponível para tipo (K, V)
A ação countByKey() conta quantos elementos há para cada chave
Exemplo de countByKey() em uma lista simples
rdd = sc.parallelize([("a", 1), ("b", 1), ("a", 1)])
for kee, val in rdd.countByKey().items():
print(kee, val)
('a', 2)
('b', 1)
collectAsMap() retorna os pares chave-valor do RDD como um dicionário
Exemplo de collectAsMap() em uma tupla simples
sc.parallelize([(1, 2), (3, 4)]).collectAsMap()
{1: 2, 3: 4}
Fundamentos de Big Data com PySpark