PySpark ile Big Data Temelleri
Upendra Devisetty
Science Analyst, CyVerse
reduce(func) eylemi, sıradan bir RDD’nin öğelerini toplamak (aggregate) için kullanılır
Fonksiyon değişmeli (işleçlerin sırası sonucu değiştirmez) ve birleşmeli olmalıdır
PySpark’ta reduce() eylemine bir örnek
x = [1,3,4,6]
RDD = sc.parallelize(x)
RDD.reduce(lambda x, y : x + y)
14
saveAsTextFile() eylemi, RDD’yi bir dizin içinde metin dosyası olarak kaydeder; her bölüm ayrı bir dosyadırRDD.saveAsTextFile("tempFile")
coalesce() kullanılabilirRDD.coalesce(1).saveAsTextFile("tempFile")
PySpark çift RDD’ler için mevcut RDD eylemleri
Çift RDD eylemleri anahtar-değer verisini kullanır
Bazı çift RDD eylemleri
countByKey()
collectAsMap()
countByKey() yalnızca (K, V) tipi için kullanılabilir
countByKey() eylemi her anahtar için öğe sayısını döndürür
Basit bir liste üzerinde countByKey() örneği
rdd = sc.parallelize([("a", 1), ("b", 1), ("a", 1)])
for kee, val in rdd.countByKey().items():
print(kee, val)
('a', 2)
('b', 1)
collectAsMap() RDD’deki anahtar-değer çiftlerini sözlük olarak döndürür
Basit bir tuple üzerinde collectAsMap() örneği
sc.parallelize([(1, 2), (3, 4)]).collectAsMap()
{1: 2, 3: 4}
PySpark ile Big Data Temelleri