Grunderna i Big Data med PySpark
Upendra Devisetty
Science Analyst, CyVerse
Åtgärden reduce(func) används för att aggregera elementen i en vanlig RDD
Funktionen ska vara kommutativ (operandernas ordning påverkar inte resultatet) och associativ
Exempel på reduce()-åtgärden i PySpark
x = [1,3,4,6]
RDD = sc.parallelize(x)
RDD.reduce(lambda x, y : x + y)
14
saveAsTextFile() sparar en RDD som en textfil i en katalog, där varje partition blir en separat filRDD.saveAsTextFile("tempFile")
coalesce() kan användas för att spara en RDD som en enda textfilRDD.coalesce(1).saveAsTextFile("tempFile")
RDD-åtgärder tillgängliga för PySpark-par-RDD:er
Par-RDD-åtgärder utnyttjar nyckel-värde-data
Några exempel på par-RDD-åtgärder
countByKey()
collectAsMap()
countByKey() är endast tillgänglig för typen (K, V)
Åtgärden countByKey() räknar antalet element per nyckel
Exempel på countByKey() på en enkel lista
rdd = sc.parallelize([("a", 1), ("b", 1), ("a", 1)])
for kee, val in rdd.countByKey().items():
print(kee, val)
('a', 2)
('b', 1)
collectAsMap() returnerar nyckel-värde-paren i en RDD som en ordlista
Exempel på collectAsMap() på en enkel tuppel
sc.parallelize([(1, 2), (3, 4)]).collectAsMap()
{1: 2, 3: 4}
Grunderna i Big Data med PySpark