【发布时间】:2019-06-13 11:04:50
【问题描述】:
我在表中保存了默认列名,我想将保存在表中的列名与我将在 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 循环自动化到一些预定义的函数中。
【问题讨论】:
标签: scala apache-spark apache-spark-sql