【发布时间】:2019-07-16 22:41:16
【问题描述】:
我有一个接受多个参数的 hql 文件,然后我在独立的 spark 应用程序中调用这个 hql 脚本来创建一个数据帧。
这是我脚本中的示例 hql 代码:
select id , name, age, country , created_date
from ${db1}.${table1} a
inner join ${db2}.${table2} b
on a.id = b.id
这就是我在 Spark 脚本中的调用方式:
import scala.io.Source
val queryFile = `path/to/my/file`
val db1 = 'cust_db'
val db2 = 'cust_db2'
val table1 = 'customer'
val table2 = 'products'
val query = Source.fromFile(queryFile).mkString
val df = spark.sql(query)
当我使用这种方式时,我得到:
org.apache.spark.sql.catylyst.parser.ParserException
有没有办法将参数直接传递给我的 hql 文件,然后从 hive 代码中创建一个 df。
【问题讨论】:
标签: scala apache-spark apache-spark-sql hiveql