Как обработать NullType в Spark Dataframe, используя Python? - PullRequest
0 голосов
/ 10 мая 2019

Я пытаюсь загрузить данные из БД MapR в Spark DF. Тогда я просто пытаюсь экспортировать DF в файлы CSV. Но я получаю сообщение об ошибке:

"com.mapr.db.spark.exceptions.SchemaMappingException: не удалось проанализировать значение для типа данных NullType (текущий токен: STRING)"

Я попробовал пару способов, приведя столбец к StringType. Это один из них:

df = spark.loadFromMapRDB(db_table).select(
F.col('c_002.v_22').cast(T.StringType()).alias('aaa'),
F.col('c_002.v_23').cast(T.StringType()).alias('bbb')
)

print(df.printSchema())

Вывод PrintSchema:

root
 |-- aaa: string (nullable = true)
 |-- bbb: string (nullable = true)

Значения в столбцах «aaa» и «bbb» могут быть нулевыми. Затем я пытаюсь экспортировать df в файлы CSV:

df = df.repartition(10)
df.write.csv(csvFile, compression='gzip', mode='overwrite', sep=',', header='true', quoteAll='true')
...