【发布时间】:2019-08-29 07:32:17
【问题描述】:
我正在尝试使用 databricks 将 csv 文件读入 spark,但我的时间列是字符串格式,我的时间列条目如下:2019-08-01 23:59:05-07:00 ,我想将其转换为时间戳类型,这是我尝试的:
df = (spark.read
.option("header", "true")
.option("inferSchema", "true")
.csv(path_to_file)
.withColumn("observed", unix_timestamp("dt", "yyyy-MM-dd hh:mm:ss.SSSZ")
.cast("double")
.cast("timestamp"))
)
但我收到错误消息:cannot resolve '`dt`' given input columns,我猜我没有得到 "yyyy-MM-dd hh:mm:ss.SSSZ" 格式,对吧?
【问题讨论】:
-
抱怨数据集没有名为
dt的列。使用printSchema之类的东西来确认 CSV 文件被正确读取。 -
@HristoIliev 我虽然“observed”是我的列名,而“dt”是新名称。
-
withColumn的第一个参数是新列的名称,第二个参数是列表达式。
标签: apache-spark timestamp databricks