При использовании SparkSQL версии 2.1.1 при сбой приведение к целевому значению устанавливается в (ноль).Например, следующее утверждение:
spark.sqlContext.sql("SELECT cast(column_1 AS DECIMAL(3, 2) from table")
приведет к этому:
in: out:
------- ----------
| '1' | | 1.00 |
------- ----------
| 'b' | | (null) |
------- ----------
| '3' | | 3.00 |
------- ----------
В этом случае я хотел бы проинформировать / предупредить пользователя об этом путем спулинга числа случаев ивозможно даже номер затронутой строки.Есть ли способ добиться этого?
То, что я уже пробовал, это добавить столбец в DataFrame с суммой MD5 по всем столбцам каждой строки для сравнения исходного и целевого DataFrame.Однако в приведенном выше примере это не сработает из-за добавления десятичных дробей.