我得到了一个非常简单的查询,当在相同的硬件上运行Spark SQL和Presto (3小时v.s 3分钟)时,显示出显着的性能差异。SELECT field WHERE field NOT IN (SELECT field FROM test2)
通过对查询计划的研究,我发现原因在于Spark SQL如何处理在NOT EXISTS的查询计划</em
在阅读了一些关于Whole State Code Generation的文章之后,spark进行了字节码优化,以将查询计划转换为优化的执行计划。现在,我的下一个问题是,但在进行了与字节码和所有这些相关的优化之后,仍然有可能认为将这些字节码指令转换为机器代码指令可能是一个可能的瓶颈,因为这是由JIT在流程运行时单独完成的,而要实现这种优化,JIT必须有足够的运行时间。因此,spark