【发布时间】:2021-03-20 04:03:29
【问题描述】:
我正在尝试使用 Hive UDF date_format() 来提取星期几,但它只返回 NA。我们来看一个例子
sc <- sparklyr::spark_connect(master = "local")
df <- dplyr::copy_to(
sc,
data.frame(date = as.POSIXct("2020-01-01")),
"df"
)
df
# # Source: spark<df> [?? x 1]
# date
# <dttm>
# 1 2019-12-31 23:00:00
# Extracting the year works fine...
dplyr::mutate_at(
.tbl = df,
.vars = "date",
.funs = ~date_format(., "yyyy")
)
# # Source: spark<?> [?? x 1]
# date
# <chr>
# 1 2020
# But extracting the day of the week does not...
dplyr::mutate_at(
.tbl = df,
.vars = "date",
.funs = ~date_format(., "E")
)
# # Source: spark<?> [?? x 1]
# date
# <chr>
# 1 NA
任何帮助将不胜感激。一些系统信息:
- Mac OS 10.15.7
- Spark 3.0.1
- sparklyr 1.5.1
【问题讨论】:
-
我使用的是 sparklyr 1.5.1 但 spark 2.3.2。我不能让 mutate_at 足够奇怪地工作。但是
mutate(dow = date_format(date,'EEEE'))确实对我有用。
标签: r apache-spark hive apache-spark-sql sparklyr