Если я читаю данные из CSV, по умолчанию все столбцы будут иметь тип «String».Обычно я проверяю данные, используя следующие функции, которые дают обзор данных и их типов
- df.dtypes
- df.show ()
- df.printSchema ()
- df.distinct (). count ()
- df.describe (). show ()
Но, если есть столбец, которыйЯ считаю, что это определенный тип, например, Double, я не могу быть уверен, что все значения двойные, если у меня нет бизнес-знаний, и потому что
1 - я не могу видеть все значения (миллионы уникальных значений)2- Если я явно приведу его к типу double, spark тихо преобразует тип, не выбрасывая исключений, и значения, не являющиеся двойными, преобразуются в «ноль» - например,
from pyspark.sql.types import DoubleType.
changedTypedf = df_original.withColumn('label', df_control_trip['id'].cast(DoubleType()))
Что может быть лучшимспособ подтвердить тип столбца тогда?