0
私は2つのPySpark DataFramesを持っています。次のように私は両方のデータフレームに参加:df1
がそれを持っていませんがDataFramesに参加し、タイムスタンプで最新の行を取得するにはどうすればよいですか?
df = df1.join(df2,['col1', 'col2'], 'inner')
DATAFRAME df2
は、列timestamp
があります
df1 =
col1 col2
AA 11
BB 22
df2 =
timestamp col1 col2 col3
1510586134 AA 11 3
1510586140 AA 11 2
1510586200 AA 11 5
1510586134 BB 22 3
にはどうすればtimestamp
に応じdf2
の最新の行によってデータフレームに参加することができます?
結果は以下のようになります。
col1 col2 col3
AA 11 5
BB 22 3
使用ウィンドウ関数。 window.partitionBy( "col1"、 "col2")。orderBy( "timestamp") 'そして、結果のデータフレームを' col1、col2'をキーとして結合します。 – philantrovert