기계 학습 프로젝트를 개발하기 위해 PySpark를 사용하고 있습니다. MongoDB에서 가져온 날짜를 저장하는 필드가있는 레코드가 많이 있습니다. 이 날짜는 문자열이지만 isodate 형식의 날짜를 포함합니다.
Apache Spark에서 허용하는 날짜 형식 중 하나로 변환하려면 어떻게해야합니까? 가능한 경우이 날짜 필드를 포함하는 전체 열을 변환해야합니다.
다음은 JSON 형식으로 된이 필드의 예입니다.
"date": "2020-11-09T07:27:57.078Z"
을 사용하여 열을 타임 스탬프로 캐스팅하기 만하면됩니다 df.select(F.col('date').cast('timestamp'))
. 날짜 유형을 원하는 경우 대신 날짜로 캐스트하십시오.
import pyspark.sql.functions as F
df = spark.createDataFrame([['2020-11-09T07:27:57.078Z']]).toDF('date')
df.show()
+------------------------+
|date |
+------------------------+
|2020-11-09T07:27:57.078Z|
+------------------------+
>>> df.printSchema()
root
|-- date: string (nullable = true)
# cast to timestamp
df2 = df.select(F.col('date').cast('timestamp'))
>>> df2.printSchema()
root
|-- date: timestamp (nullable = true)
df2.show()
+-----------------------+
|date |
+-----------------------+
|2020-11-09 07:27:57.078|
+-----------------------+
# cast to date
df3 = df.select(F.col('date').cast('date'))
>>> df3.printSchema()
root
|-- date: date (nullable = true)
df3.show()
+----------+
| date|
+----------+
|2020-11-09|
+----------+
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다