지난 36 시간 동안 속한 타임 스탬프가있는 행만 선택하려고합니다. 내 PySpark DataFrame df
의 컬럼은 초 단위의 타임 스탬프 인 unix_timestamp
입니다. 이것은 현재 코드이지만 오류 AttributeError: 'DataFrame' object has no attribute 'timestamp'
과 함께 실패합니다. 나는 그것을 unix_timestamp
으로 바꾸려고했지만, 항상 실패합니다.AttributeError : 'DataFrame'객체에 'timestamp'속성이 없습니다.
import datetime
hours_36 = (datetime.datetime.now() - datetime.timedelta(hours = 36)).strftime("%Y-%m-%d %H:%M:%S")
df = df.withColumn("unix_timestamp", df.unix_timestamp.cast("timestamp")).filter(df.timestamp > hours_36)
'df.unix_timestamp.cast ("timestamp") 명령이 정확히 무엇을하는지 설명해 주시겠습니까? 나는 약간 혼란 스럽다. 'unix_timestamp'를 타임 스탬프에 캐스트 합니다만, 이미 타임 스탬프입니다. – Markus
예, 열'unix_timestamp'를 타임 스탬프로 변환합니다. 이미 타임 스탬프 인 경우에는 필요 없습니다. 'df.printSchema()'는 당신에게 무엇을 말해 줍니까? – Psidom