Я использую Spark Python API и запускаю Spark 0.8.
Я храню большой RDD векторов с плавающей запятой, и мне нужно выполнить вычисления одного вектора по всему набору.
Есть ли разница между срезами и разделами в RDD?
Когда я создаю RDD, я передаю ему 100 как параметр, который заставляет его хранить RDD как 100 фрагментов и создавать 100 задач при выполнении вычислений. Я хочу знать, будет ли разделение данных повышать производительность за пределами разреза, позволяя системе обрабатывать данные более эффективно (т.е. Существует ли разница между выполнением операций над разделом по сравнению с тем, что они работают только над каждым элементом нарезанного RDD).
Например, существует ли существенная разница между этими двумя фрагментами кода?
rdd = sc.textFile(demo.txt, 100)
против
rdd = sc.textFile(demo.txt)
rdd.partitionBy(100)