我有一个带有创建日期列的数据集。该列的格式通常为“ dd / MM / yy”,但有时会包含乱码。我想最终将列转换为DATE并将垃圾文本作为NULL值。
我一直在尝试使用resolveChoice,但这会导致所有null值。
data_res = date_dyf.resolveChoice(specs = [('datescanned','cast:timestamp')])
样本数据
3,1/1/18,text7
93,this is a test,text8
9,this is a test,text9
82,12/12/17,text10
答案 0 :(得分:0)
尝试使用to_date函数将DynamicFrame转换为Spark的DataFrame并解析日期:
from pyspark.sql.functions import to_date
df = date_dyf.toDF
parsedDateDf = df.withColumn("datescanned", to_date(df["datescanned"], "dd/MM/yy"))
dyf = DynamicFrame.fromDF(parsedDateDf, glueContext, "convertedDyf")
如果字符串与格式不匹配,则会设置null
值