Как проверить столбец даты с учетом шаблона даты, не создавая исключения и не изменяя конфигурацию Spark в Apache Spark JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как проверить столбец даты с учетом шаблона даты, не создавая исключения и не изменяя конфигурацию Spark в Apache Spark

Сообщение Anonymous »

У меня есть столбец C1 в наборе данных, и я хочу отфильтровать его, чтобы получить только те строки, которые соответствуют шаблону даты «дд-ММ-гггг», что-то вроде:

Код: Выделить всё

Dataset newDs = dataset.filter(functions.to_date(dataset.col("C1"),"dd-MM-yyyy").isNotNull());
Но для некоторых входных данных он делает это правильно, а для других он выдает исключение SparkUpgradeException и предлагает изменить некоторую конфигурацию Spark на устаревшую.
Для некоторых неправильных форматов ввода, например:



C1




20032024


20/12/2024


15–202



Он прекрасно работает с использованием предыдущего кода и фильтрует набор данных, но со строками типа:



C1


< tbody>

5-9-2024


20/2 /2024



Выдает исключение SparkUpgradeException. Я получаю следующую трассировку стека:

Код: Выделить всё

org.apache.spark.SparkUpgradeException: You may get a different result due to the upgrading to Spark >= 3.0: Fail to parse '5-9-2024' in the new parser. You can set spark.sql.legacy.timeParsePolicy to LEGACY to restore the behavior before Spark 3.0, or set to CORRECTED and treat it as an invalid datetime string
Каким образом можно было бы провести эту проверку с учетом лучших практик и хорошей производительности? Мне не разрешено изменять конфигурацию Spark, как предлагают другие решения, с помощью spark.sql.legacy.timeParserPolicy=LEGACY

Подробнее здесь: https://stackoverflow.com/questions/790 ... -exception
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»