我想创建一个包含多个SQL语句的Scala文件,每个语句都有很少的参数。我想使用shell文件以编程方式执行/提交该文件。
import org.apache.spark.sql.hive.HiveContext;
val sqlContext = new HiveContext(sc);
val total=sqlContext.sql(s"select sum(amount) from table1 where location=$loc_var");
答案 0 :(得分:0)
使用scopt进行命令行参数处理,并在Scala应用程序中使用它们,例如: function accessAPI(access_token, callback, inputJSON, url, repeat){
if(repeat==0){ accessAPI_Execute();
}else{ setInterval(accessAPI_Execute, repeat*1000)};
//local function for setInterval() control
function accessAPI_Execute(){
//console.log("sending request...");
$.ajax({
type: 'GET',
url: url,
beforeSend: function(xhr) {
xhr.setRequestHeader("Authorization", access_token.token_type + " " + access_token.access_token);
},
data: inputJSON,
success: callback
})
};
};
。
答案 1 :(得分:0)
如果我正确理解了您的问题,您可以使用字符串连接附加输入参数。
//Capture input argument inside scala file
val loc_var = args(0)
val total=sqlContext.sql("select sum(amount) from table1 where location='"+loc_var+"'");