Статистика выполнения запросов для распараллеленных коллекций в Spark - PullRequest
0 голосов
/ 05 июля 2018

При вычислении статистики для простого распараллеленного сбора в Spark 2.3.0 я получаю некоторые странные результаты:

val df = spark.sparkContext.parallelize(Seq("y")).toDF("y")
df.queryExecution.stringWithStats

== Optimized Logical Plan 
== Project [value#7 AS y#9], Statistics(sizeInBytes=8.0 EB, hints=none)
+- SerializeFromObject [staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, input[0, java.lang.String, true], true, false) AS value#7], Statistics(sizeInBytes=8.0 EB, hints=none)    
+- ExternalRDD [obj#6], Statistics(sizeInBytes=8.0 EB, hints=none)

Это 8,0 эксабайт данных.

Если я делаю эквивалент без распараллеливания

== Optimized Logical Plan 
== LocalRelation [x#3], Statistics(sizeInBytes=20.0 B, hints=none)

Очевидно, что при сериализации коллекции возникает побочный эффект, который планировщик запросов не может точно определить размер. Я что-то здесь упускаю?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...