Spark. RDD (Resilient Distributed Dataset)
Resilient Distributed Dataset (RDD) β ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ Π² Apache Spark, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠ°Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΡΠΏΠΎΡΠΎΠ±Π½ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π½Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅, ΠΎΠ±Π»Π°Π΄Π°ΡΡΡΡ ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡΡ ΠΊ ΠΎΡΠΊΠ°Π·Π°ΠΌ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.
from pyspark import SparkContext
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ SparkContext
sc = SparkContext("local", "Simple RDD Example")
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ RDD ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°
data = [1, 2, 3, 4, 5]
rdd = sc.parallelize(data)
# ΠΡΠΈΠΌΠ΅Ρ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ: ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π½Π° 2
transformed_rdd = rdd.map(lambda x: x * 2)
# ΠΡΠΈΠΌΠ΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ: ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² RDD
collected_data = transformed_rdd.collect()
# ΠΠ΅ΡΠ°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ²
print(collected_data) # ΠΡΠ²ΠΎΠ΄: [2, 4, 6, 8, 10]
# ΠΡΠΈΠΌΠ΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ: ΡΡΠΌΠΌΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
sum_result = rdd.reduce(lambda a, b: a + b)
print(sum_result) # ΠΡΠ²ΠΎΠ΄: 15
# ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ SparkContext
sc.stop()