У меня есть фрейм данных со столбцом как Date вместе с несколькими другими столбцами.
Я хотел проверить значение столбца Date и проверить, имеет ли формат «dd / MM / yyyy». Если столбец Date имеет любой другой формат, он должен быть помечен как плохая запись. Поэтому я использую опцию option («dateFormat», «dd / MM / yyyy») , чтобы принять дату в указанном формате, и она принимает дату правильно в формате «dd / MM / yyyy», но если я передать недопустимый формат (ГГГГ / мм / дд), но запись не помечается как недопустимая, а переданная дата конвертируется в мусор
Входной файл:
colData1,2020/05/07,colData2,colData3
colData4,2020/05/07,colData5,colData6
colData7,2020/05/07,colData8,colData9
df = spark.read.format(
"com.databricks.spark.csv").schema(customSchema).option(
"escape", '\"').option(
"quote", '\"').option(
"header", "false").option(
"dateFormat", "dd/MM/yyyy").option(
"columnNameOfCorruptRecord","badRecords").csv(
rdd)
df.show()
DataFrame O / P: -
+--------+----------+--------+--------+----------+-----+
| OMIC| SMIC| VCLP| VName|badRecords|rowId|
+--------+----------+--------+--------+----------+-----+
|colData1|0012-11-09|colData2|colData3| null| 0|
|colData4|0012-11-09|colData5|colData6| null| 1|
|colData7|0012-11-09|colData8|colData9| null| 2|
+--------+----------+--------+--------+----------+-----+
Пожалуйста, предложите