为什么在启动spark-beeline的命令中指定“--hivevar”选项无效
问题
为什么在启动spark-beeline的命令中指定“--hivevar”选项无效?
在MRS集群启动spark-beeline的命令中如果使用了“--hivevar <VAR_NAME>=<var_value>”选项自定义一个变量,在启动spark-beeline时不会报错,但在SQL语句中用到变量<VAR_NAME>时会报无法解析<VAR_NAME>的错误。
举例说明,场景如下:
- 启动成功后,在spark-beeline中执行SQL语句,如“DROP TABLE ${VAR_NAME}”,报无法解析VAR_NAME的错误。
回答
MRS集群因新增多session管理功能,Hive的特性“--hivevar <VAR_NAME>=<var_value>”在Spark中已不再支持,因此在spark-beeline的启动命令中使用“--hivevar”选项无效。