#apache-spark #apache-spark-sql #etl #databricks
#apache-spark #apache-spark-sql #etl #databricks
Вопрос:
Я использую Apache Spark (через DataBricks и Scala) для преобразования некоторых данных из необработанной формы (в базе данных SQL, но со всем, что является нечетким VARCHAR) в структурированный from (в другой базе данных SQL, но с проверенными правильными типами и значениями и т.д.).
Обычно это работает нормально, но многие встроенные функции Spark (например, .cast(IntegerType)
) просто устанавливают недопустимые значения в null. Есть ли способ вместо этого регистрировать и отделять «плохие» строки (для дальнейшего изучения)?
Обратите внимание, я не могу просто отфильтровать нулевые значения после того, как данные содержат много допустимых нулей, которые должны быть включены.
Комментарии:
1. вы можете выполнить преобразование карты, а внутри карты иметь пользовательскую логику для очистки полей. если очистка какого-либо конкретного поля завершается неудачей, вы можете зарегистрировать это и использовать исключение. и еще один момент — вы также можете добавить новый столбец в finalDF с типом Map<имя_поля,errormessage> … запишите это в отдельную папку, чтобы проверить проблемы.
2. Есть какой-нибудь воспроизводимый пример? трудно представить.