擅长:python、mysql、java
<p>你的假设很可能是不真实的</p>
<p>Spark是一个分布式计算引擎,pandas是一个单节点工具集。因此,当您在数百万行上运行查询时,很可能会失败。在执行df.toPandas时,Spark会将所有数据移动到驱动程序节点,因此,如果数据超过驱动程序内存,则会出现内存不足异常。换句话说,如果您的数据集比内存大,那么pandas将无法正常工作</p>
<p>此外,在Databrick上使用pandas时,您会失去使用底层集群的所有好处。你只是在使用驱动程序</p>
<p>解决这个问题有两个明智的选择:</p>
<ul>
<li>使用spark重做您的解决方案</li>
<li>使用<a href="https://koalas.readthedocs.io/en/latest/" rel="nofollow noreferrer">koalas</a>,它的API大部分与pandas兼容</li>
</ul>