我正在通过"sparklyr"和"SparkR"在R中对Spark进行基准测试。我在不同的测试数据上测试不同的函数。在两种特殊情况下,我计算一列中的零数量和一列中的 NA 数量,我意识到无论数据有多大,结果都会在不到一秒钟的时间内出现。所有其他计算都随数据的大小而缩放。所以我不认为Spark在那里计算任何东西,而是这些情况存储在元数据中的某个地方,并且在加载数据时计算了这些结果。我测试了我的功能,他们总是给我正确的结果。
谁能确认列中的零数和空位数是否存储在数据帧的元数据中,如果没有,为什么它会以正确的值如此迅速地返回?
没有与包含列式数据的 Spark DataFrame 关联的元数据;因此,我的猜测是,您测量的性能差异是由其他原因引起的。如果没有可重现的例子,很难分辨。