Избегайте печати кода при запуске скриптов в оболочке spark - PullRequest
2 голосов
/ 10 апреля 2019

Я пытаюсь подключиться к БД из в оболочке spark, используя скрипты в файле scala. При подключении скрипт берет пароль из другого места, но печатает в консоли оболочки оболочки. Я просто хочу избежать этого.

Код в Scala, как показано ниже,

val config=Map("driver"->"drivername","url"->"dburl","user"->"username","password"->"741852963");

При загрузке этого кода в spark shell он также печатает код в spark shell. Я хочу, чтобы эти одни части не печатались в спарк-консоли.

Как мне этого добиться?

1 Ответ

6 голосов
/ 10 апреля 2019

У вас есть несколько способов добиться этого:

  • Вы можете обернуть ваше определение конфигурации в объект.Оболочка Spark просто выдаст, что объект определен
scala> object ConfigHolder {
     | val config=Map("secret"->"value")
     | }
defined object ConfigHolder

Затем вы можете просто ссылаться на свою конфигурацию как ConfigHolder.config вместо config

  • Вы можете отключить/ включить выходную печать в оболочке с помощью команды :silent
scala> :silent

scala> val config=Map("secret"->"value")

scala> :silent

Конечно, ни одно из этих действий не мешает кому-либо, имеющему доступ к искровой оболочке, прочитать ваши учетные данные, оно просто запрещаетслучайные зрители их видят.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...