Tiz*_*ica 4 date-formatting apache-spark pyspark
我有这个 json 文件
{"created_at":"2022-01-02 12:17:43.399 UTC","updated_at":"2022-01-02 12:17:43.399 UTC"}
Run Code Online (Sandbox Code Playgroud)
尝试将其读作
read_df = spark \
.read \
.option("timestampFormat", "yyyy-MM-dd HH:mm:ss.SSS 'UTC'") \
.option("inferSchema", "true") \
.json(path)
Run Code Online (Sandbox Code Playgroud)
但推断的模式给了我返回
root
|-- created_at: string (nullable = true)
|-- updated_at: string (nullable = true)
Run Code Online (Sandbox Code Playgroud)
我尝试强制它通过withColumn("timestamp",to_timestamp(col("created_at"), "yyyy-MM-dd HH:mm:ss.SSS 'UTC'"))并且它有效。
我不想为自己提供架构,但让我们推断它,因为我有具有不同架构的不同文件,并且希望重新使用该函数进行读取。
我不确定出了什么问题。
Spark版本L 3.3.2
从3.0.1版本开始,默认禁用时间戳类型推断。将 JSON 选项 inferTimestamp 设置为 true 以启用此类类型推断。
read_df = spark \
.read \
.option("timestampFormat", "yyyy-MM-dd HH:mm:ss.SSS 'UTC'") \
.option("inferSchema", "true") \
.option("inferTimestamp", "true") \
.json(path)
Run Code Online (Sandbox Code Playgroud)
返回两个时间戳列。
| 归档时间: |
|
| 查看次数: |
439 次 |
| 最近记录: |