2017-09-06 112 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))