如何解决Spark sql方法参数过多的报错问题?
Spark SQL语句报错解决:too many arguments for method sql
错误根源:
spark.sql()方法仅接受单个字符串参数,你的代码未将SQL查询语句用引号包裹,Scala会把语句中的空格分割成多个参数传入,导致参数数量不匹配报错。修复方法:把完整的SQL查询语句用双引号或三引号包裹,让它被识别为单个字符串参数。
正确代码示例:
val ans = spark.sql("Select empname, count(visa_class) as Approved_Visa from visa group by empname order by Approved_Visa DESC Limit 10")
如果需要换行排版SQL语句,用三引号更清晰:
val ans = spark.sql(""" Select empname, count(visa_class) as Approved_Visa from visa group by empname order by Approved_Visa DESC Limit 10 """)
内容的提问来源于stack exchange,提问作者user20168194
相关产品推荐
相关产品推荐

