我正在使用Scala运行Spark-Shell,我想设置一个环境变量来将数据加载到Google bigQuery中。环境变量为GOOGLE_APPLICATION_CREDENTIALS
,其中包含/path/to/service/account.json
在python环境中我很容易做到,
import os
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = "path/to/service/account.json"
但是,我不能在Scala中这样做。我可以使用
打印出系统环境变量scala> sys.env
或
scala> System.getenv()
返回一个String Key,Value对的映射。然而,
scala> System.getenv("GOOGLE_APPLICATION_CREDENTIALS") = "path/to/service/account.json"
返回错误
<console>:26: error: value update is not a member of java.util.Map[String,String]
答案 0 :(得分:0)
尽管我认为这不是最佳实践,但我找到了解决该问题的方法。这是两步解决方案-
在终端/ cmd中,首先创建环境变量-
export GOOGLE_APPLICATION_CREDENTIALS=path/to/service/account.json
从相同终端窗口中,打开spark-shell
并运行-
System.getenv("GOOGLE_APPLICATION_CREDENTIALS")