2017-09-06 73 views
-1

我想在我的火花驱动程序代码来执行一组hiveQL语句,像下面运行在Scala代码多hiveQL语句

var res = hiveContext.sql("""use testdb;drop table temp;select ...")

当我执行这个代码,它给了我一个错误说

Error: missing EOF near testdb 

有人可以指我在哪里,我错了吗?使用上述方法是否真的有可能执行多个陈述?

此外,我试图把我所有的报表文件中的“test.hql”,并用下面的代码片段。

sqlContext.sql(scala.io.Source.fromFile("mytest.hql").mkString)  

还是得到了与上面相同的错误。

有什么想法?

回答

-1

你可以把你所有的查询上的文件,并使用此代码来执行查询

queryFile = "path_of_your_file_queries" 
Source.fromFile(queryFile, "utf-8").getLines().foreach(query => sparksql.sql(query))