큰 파일을 작업하고 있습니다. mmddyy 형식의 필드 중 하나에 문자열을 데이터 형식으로 가지고 있는데이를 YYYY-MM-DD로 변환해야합니다. 나는 UDF를 만들려고 시도하고 게시물 중 하나를 언급하지만 변환 오류는 던지는 오류. 샘플 코드 : dataframe에서Pyspark - mmddyy를 YYYY-MM-DD로 변환
실제 필드 :
+-----------+
|DATE_OPENED|
+-----------+
| 072111|
| 090606|
예상 출력 :
+---------------+
| DATE_OPENED|
+---------------+
| 2011-07-21|
| 2006-06-09|
샘플 코드 :
func = udf (lambda x: datetime.strptime(x, '%m%d%Y'), DateType())
newdf = olddf.withColumn('open_dt' ,date_format(func(col('DATE_OPENED')) , 'YYYY-MM-DD'))
오류 :
Error : ValueError: time data '072111' does not match format '%m%d%Y'
업데이트 된 답변보기 UDF에 의존하지 않고보다 표준적인 방법으로 문제를 해결합니다. – Shaido