Big Data Fundamentals with PySpark
Upendra Devisetty
Science Analyst, CyVerse
Akce reduce(func) slouží k agregaci prvků běžného RDD
Funkce musí být komutativní (pořadí operandů nemění výsledek) a asociativní
Příklad akce reduce() v PySparku
x = [1,3,4,6]
RDD = sc.parallelize(x)
RDD.reduce(lambda x, y : x + y)
14
saveAsTextFile() uloží RDD do textového souboru v adresáři, každý oddíl jako samostatný souborRDD.saveAsTextFile("tempFile")
coalesce() lze uložit RDD jako jeden textový souborRDD.coalesce(1).saveAsTextFile("tempFile")
Akce RDD dostupné pro párová RDD v PySparku
Akce na párových RDD využívají data ve formátu klíč–hodnota
Příklady akcí na párových RDD
countByKey()
collectAsMap()
countByKey() je dostupná pouze pro typ (K, V)
Akce countByKey() počítá počet prvků pro každý klíč
Příklad countByKey() na jednoduchém seznamu
rdd = sc.parallelize([("a", 1), ("b", 1), ("a", 1)])
for kee, val in rdd.countByKey().items():
print(kee, val)
('a', 2)
('b', 1)
collectAsMap() vrátí páry klíč–hodnota z RDD jako slovník
Příklad collectAsMap() na jednoduchém tuplu
sc.parallelize([(1, 2), (3, 4)]).collectAsMap()
{1: 2, 3: 4}
Big Data Fundamentals with PySpark