我正在使用AWS胶水读取AWS Aurora DB(MySQL)表并写入S3文件。 MySQL表具有日期列值“ 0000-00-00”,这在MySQL中是允许的。因此,我的胶水作业(PySpark)失败了。如何在Glue代码中处理此问题?
我尝试失败的事情。
追加?
从PySpark代码的DynamicFrame或Dataframe中删除日期列。
例如:jdbc:mysql:<host-name>/<db-name>?zeroDateTimeBehavior=convertToNull&autoReconnect=true&characterEncoding=UTF-8&characterSetResults=UTF-8
从胶水表定义中删除日期列。 看起来已读取表中的所有列。
下面的错误消息
df.drop(df["date_column"])
答案 0 :(得分:0)
验证在Crownler表架构中设置字段的格式。将其设置为字符串。这样,您就不再有解析错误了。
选择具有功能df.selectExpr()
的列,然后根据需要设置数据格式。
一些Spark SQL表达式: