AWS Glue-如何排除字符串与日期格式不匹配的行

时间:2019-05-23 16:07:43

标签: apache-spark pyspark aws-glue

我有一个带有创建日期列的数据集。该列的格式通常为“ 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

1 个答案:

答案 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