在火花壳内,如果我尝试以下操作:
var sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)
var query = "select * from myDB.table limit 10; drop table if exists"
var queryDF = sqlContext.sql(query)
我收到一个错误:
org.apache.spark.sql.AnlysisException: missing EOF at ';'....
我可以执行简单的单行查询,但多命令查询总是会导致此错误。
有人遇到并解决了这个问题吗?
这是一种预期的行为。SQLContext.sql
不支持多个查询,所以解决方案非常简单——一次只传递一个查询。