我有一个日期pyspark数据框,其中的字符串列格式为Mon-YY
,例如。 “ Jan-17”,我正在尝试将其转换为日期列。
我试图这样做,但没有成功:
df.select(to_timestamp(df.t, 'MON-YY HH:mm:ss').alias('dt'))
是否可以像在SQL中那样进行操作,还是需要编写一个特殊的转换函数?
答案 0 :(得分:0)
您应该使用有效的Java date format。以下将起作用
df = spark.createDataFrame([("Jan-17 00:00:00",'a'),("Apr-19 00:00:00",'b')], ['t','x'])
df.show(2)
+---------------+---+
| t| x|
+---------------+---+
|Jan-17 00:00:00| a|
|Apr-19 00:00:00| b|
+---------------+---+
在这种情况下 import pyspark.sql.functions as psf
df.select(psf.to_timestamp(psf.col('t'), 'MMM-YY HH:mm:ss').alias('dt')).show(2)
+-------------------+
| dt|
+-------------------+
|2017-01-01 00:00:00|
|2018-12-30 00:00:00|
+-------------------+
将变成export http_proxy=http://<ip>:3128
export https_proxy=http://<ip>:3128
---
- hosts: localhost
gather_facts: no
tasks:
- name: Creating zone kasperstesting123.dk
azure_rm_dnszone:
resource_group: poc-rg_publicdns
name: kasperstesting123.dk
type: public
转换为时间戳:
TASK [Creating zone kasperstesting123.dk] ****************************************************************************************************************************************************************************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": "Error retrieving resource group poc-rg_publicdns - Resource group 'poc-rg_publicdns' could not be found."}