Я не знаю Scala, но вот что я сделал в Pyspark:
Предположим, у вас есть входной файл, например:
Banana,23,Male,5,11,2017
Dragon,28,Male,1,11,2017
Dragon,28,Male,1,11,2017
2-я строка пуста.
rdd = sc.textFile(PATH_TO_FILE).mapPartitions(lambda line: csv.reader(line,delimiter=','))
>>> rdd.take(10)
[['Banana', '23', 'Male', '5', '11', '2017'], [], ['Dragon', '28', 'Male', '1', '11', '2017'], ['Dragon', '28', 'Male', '1', '11', '2017']]
вы можете видеть, что второй элемент пуст, поэтому мы отфильтруем его, рассчитав длину элемента, которая должна быть больше единицы.
>>> rdd = sc.textFile(PATH_TO_FILE).mapPartitions(lambda line: csv.reader(line,delimiter=',')).filter(lambda line: len(line) > 1)
>>> rdd.take(10)
[['Banana', '23', 'Male', '5', '11', '2017'], ['Dragon', '28', 'Male', '1', '11', '2017'], ['Dragon', '28', 'Male', '1', '11', '2017']]