簡體   English   中英

sql 在 spark sql 數據幀查詢中使用分區

[英]sql With partition use in spark sql dataframe query

我有一個這樣的sql查詢:

WITH cte AS
(
   SELECT *,
         ROW_NUMBER() OVER (PARTITION BY [date] ORDER BY TradedVolumSum DESC) AS rn
   FROM tempTrades
)
SELECT *
FROM cte
WHERE rn = 1

我想在 spark sql 中使用它來查詢我的數據框。

我的數據框看起來像: 在此處輸入圖片說明

並且我只想使用 SecurityDescription 獲得每天的最大交易量。 所以我想看到類似的東西:

在此處輸入圖片說明

我將如何在 python 中的 spark sql 中模擬相同的行為?

謝謝!

以下是假設您的數據框名稱為 tempTrades 的問題代碼:

import pyspark.sql.functions as F
from pyspark.sql import Window

win_temp = Window.partitionBy(F.col("[date]")).orderBy(F.col("TradedVolumSum").desc())
tempTrades.withColumn(
    "rn",
    F.row_number().over(win_temp)
).filter(
    F.col("rn") == 1
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM