【问题标题】:Setting GOOGLE_APPLICATION_CREDENTIALS environment variable in Scala在 Scala 中设置 GOOGLE_APPLICATION_CREDENTIALS 环境变量
【发布时间】:2018-07-31 04:52:09
【问题描述】:

我正在使用 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()

它返回给我一个字符串键值对的映射。然而,

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]

【问题讨论】:

  • 你找到解决办法了吗?
  • 是的,我找到了解决这个问题的方法。
  • 你能用解决方案回答你的问题吗?
  • 嘿,我回答了这个问题。让我知道它是否有效。

标签: scala apache-spark


【解决方案1】:

我找到了解决此问题的方法,但我认为这不是最佳做法。这是解决此问题的 2 步解决方案 -

  1. 从终端/cmd,首先创建环境变量-

    export GOOGLE_APPLICATION_CREDENTIALS=path/to/service/account.json

  2. same 终端窗口,打开 spark-shell 并运行 -

    System.getenv("GOOGLE_APPLICATION_CREDENTIALS")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-24
    • 2022-08-19
    • 2018-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多