Как обрабатывать пустое строковое значение для десятичного типа данных при чтении из файла во фрейме данных в Spark

#dataframe #apache-spark #apache-spark-sql

Вопрос:

Я пытаюсь прочитать данные из csv-файла с помощью фрейма данных, передав схему. Для нескольких столбцов данные поступают в виде пустой строки, соответствующая строка данных которой является двойной. Поэтому, когда я пытаюсь прочитать файл, всякий раз, когда данные являются пустой строкой для этих столбцов, все содержимое файла становится пустым, и я не могу прочитать содержимое файла.

например : test.csv

 col1,col2,5.45, ,xyz
(string,string,decimal,decimal,string)
 

Поэтому, когда я пытаюсь прочитать файл

  val df = spark.read.option("header", false).schema(tblschema).csv("path/test.csv")
df.show()
 

все столбцы имеют нулевые значения
null,null,null,null,null

Есть ли какой-либо способ прочитать содержимое файла для столбцов типа данных с двойным/десятичным числом при передаче пустых строк или пустых значений?

Комментарии:

1. как была tblschema определена ваша схема?

2. У меня есть функция, которую я передаю структуре таблицы. Я могу считывать данные, когда нет четких строк или пустых значений, или если преобразовать двойной тип в строковый тип.