В PySpark есть 2 вида СДР. Я хотел бы знать их разницу. Также, если я определил функцию Python для уменьшения rdd, переношу ли я данные из Spark и фактически использую Python для сокращения?
Пример 1:
df = spark.range(10)
rdd1 = df.rdd.flatMap(lambda x:x)
add = lambda x,y: x+y
rdd1.reduce(add) # return 45
Вопрос 1: , поскольку функция уменьшения add
определена в Python, является ли производительность такой же, как у Scala Уменьшение искры?
Пример 2:
df = spark.range(10)
rdd2 = df._jdf.rdd
rdd2.container.map(??????)
Вопрос 2: : как мы можем сделать то же самое сокращение в примере 1, используя java СДР? Если мы сможем это сделать, будет ли снижение производительности java RDD лучше, чем в примере 1?