在scala代码中运行多个hiveQL语句[重复]

Posted

技术标签:

【中文标题】在scala代码中运行多个hiveQL语句[重复]【英文标题】:Running multiple hiveQL statements in scala code [duplicate] 【发布时间】:2017-09-06 13:48:11 【问题描述】:

我想在我的 spark 驱动程序代码中执行一组 hiveQL 语句,如下所示

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

当我执行这段代码时,它给了我一个错误提示

Error: missing EOF near testdb

有人能指出我哪里出错了吗?使用上面的方法真的可以执行多个语句吗?

此外,我尝试将所有语句放入文件“test.hql”中,并使用以下代码 sn-p。

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))

【讨论】:

以上是关于在scala代码中运行多个hiveQL语句[重复]的主要内容,如果未能解决你的问题,请参考以下文章

HiveQL SELECT语句查询

HiveQL编译基础

如何从 Hiveql 中的 select over 语句中仅提取最近一周?

Scala 循环

在 HiveQL 的“on”子句中使用 case 语句进行条件连接

hiveql 上的正则表达式:悬空元字符映射减少 [重复]