擅长:python、mysql、java
<p><strong>更新</strong>实际上,我试着对此进行了更多的研究,但似乎不起作用。(实际上它抛出了一个错误)。它不起作用的原因是我在Databricks中调用了<code>display()</code>中的代码(调用<code>display()</code>之后的代码永远不会运行)。似乎数据帧上的<code>orderBy()</code>和<code>window</code>上的<code>orderBy()</code>实际上并不相同。我会把这个答案保留下来只是为了否定的确认</p>
<p><s>从PySpark 2.4开始(可能更早),只需在<code>orderBy</code>调用中添加关键字<code>ascending=False</code>就可以了。</s></p>
<p>例如</p>
<p><code>personal_recos.withColumn("row_number", F.row_number().over(Window.partitionBy("COLLECTOR_NUMBER").orderBy("count", ascending=False)))</code></p>
<p>以及</p>
<p><code>personal_recos.withColumn("row_number", F.row_number().over(Window.partitionBy("COLLECTOR_NUMBER").orderBy(F.col("count").desc())))</code></p>
<p>似乎给了我同样的行为。</p>