У меня есть имена столбцов по умолчанию, сохраненные в таблице, и я хочу сопоставить имя столбца, сохраненное в таблице, с именами столбцов, которые я получу в файле CSV.
Результат приведенного ниже кода:
если файл имеет те же имена столбцов, что и сохраненные в таблице для сопоставления, выполните некоторую обработку, иначе выйдите и сгенерируйте сообщение электронной почты о несоответствии схемы.
Вот мой код:
val expectedschemadf = spark.sql(s"""SELECT columnname FROM table""").columns
val receivedschemadf = spark.table(vendorfile.toString).columns
if(expectedschemadf.size == receivedschemadf.size)
{
breakable {for(i<-0 to expectedschemadf.size-1 by 1)
{
if (!(receivedschemadf contains expectedschemadf(i)))
{
print("fail")
break
}
}
}
}
else(print("fail"))
Результат, который я хочу:
Я хочу автоматизировать вышеприведенный цикл for в какую-то предопределенную функцию или еще.