두 개의 PySpark DataFrames가 있습니다.DataFrames에 가입하고 타임 스탬프로 최신 행을 가져 오는 방법은 무엇입니까?
df = df1.join(df2,['col1', 'col2'], 'inner')
DataFrame df2
는 열 timestamp
을 가지고 df1
동안이없고 :
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
의 새로운 행에 의해 DataFrames에 가입하실 수 있습니다 다음과 같이 둘 다 DataFrames 가입 ?
결과는 다음과 같아야합니다
col1 col2 col3
AA 11 5
BB 22 3
사용 윈도우 함수. window.partitionBy ("col1", "col2"). orderBy ("timestamp")'그런 다음 결과 데이터 프레임을'col1, col2'를 키로 결합하십시오. – philantrovert
@philantrovert : .orderBy (col ("timestam"). desc()? 가장 최근의 것을 가져 오기 위해'orderBy' 다음에'where'를 사용해야합니까? – Dinosaurius