在将数据从一个文件加载到配置单元表时,我想从spark-submit命令传递一个路径。我正在尝试使用以下代码传递该路径,但它显示的输入"$"不匹配,在load语句中应为"Inpath"附近的StringLiteral Inpath。
obj hive_scala{
def main(args:Array[String]){
// creating sparksession
val dbsession=HiveWareHouseSession.session(sparksession).build()
dbsession.setDatabase("dbname")
if(args.length<1){
System.exit(1)
}
var a="load data inpath $args(0) into table tablename";
val b=dbsession.executeUpdate(a)
}
}
然后使用下面的spark-submit命令:spark-submit——类类名projectjar位置(从这里我需要将数据加载到表中(有人能建议我应该如何使用spark-submit传递此路径,以及需要在scala中更改哪些代码吗。
将字符串更改为
var a=s"load data inpath ${args(0)} into table tablename";
's'前缀标记字符串插值。{}应用于表达式
使用s插值时似乎缺少一些字符:
obj hive_scala {
def main(args:Array[String]){
// creating sparksession
val dbsession = HiveWareHouseSession.session(sparksession).build()
dbsession.setDatabase("dbname")
if(args.length < 1){
System.exit(1)
}
var a = s"load data inpath ${args(0)} into table tablename";
val b = dbsession.executeUpdate(a)
}
}