728x90
spark 2.3에서 잘 수행되던 코드가 spark 3.0에서 아래와 같은 오류가 발행했다.
select
unix_timestamp(update_dt)
오류 메세지
Caused by: java.time.format.DateTimeParseException: Text '2020-09-16 16:24:08.0' could not be parsed, unparsed text found at index 19
at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1952)
at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1777)
at org.apache.spark.sql.catalyst.util.Iso8601TimestampFormatter.$anonfun$parse$1(TimestampFormatter.scala:79)
확인 결과 아래와 같이 saprk 3.x에서는 unix_timestamp 함수를 이용할 경우 date format을 명시해줘야 한다.
최종적으로 아래와 같이 코드를 변경 후 에러가 발생하지 않았다.
select unix_timestamp(update_dt,'yyyy-MM-dd HH:mm:ss.SSS')
참고
728x90
'빅데이터(BigData) > Spark' 카테고리의 다른 글
spark에서 master node로 데이터를 모으기 위해서 collect를 사용하는 방법 (0) | 2020.10.19 |
---|---|
dataframe의 partition 수 확인하기 (0) | 2020.10.16 |
dataframe(데이터프레임)으로 hive table(테이블) 생성하거나 데이터를 입력하기 (0) | 2020.10.02 |
spark-submit으로 spark 코드 실행시 Non-ASCII character 에러 대처 방법 (0) | 2020.01.04 |
Spark에서 Dataframe을 이용하여 Hive 테이블 생성하기 (0) | 2020.01.03 |