我正在尝试使用scala文件中的脚本从spark shell中连接到DB。 当连接脚本从其他位置获取密码时,它会在spark shell控制台中打印。 我只是想避免那些。
Scala中的代码如下,
val config=Map("driver"->"drivername","url"->"dburl","user"->"username","password"->"741852963");
在Spark Shell中加载此代码时,这也会在Spark Shell中打印代码。我希望这些单独的部分不在Spark Console中打印。
我该如何实现?
答案 0 :(得分:5)
您可以通过多种方式实现这一目标:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="menu">
<ul>
<li><a href="index.jsp" class="active">Home</a></li>
<li><a href="listnews.jsp">News</a></li>
<li><a href="abc.jsp">ABC</li>
</ul>
</div>
然后,您可以简单地将配置引用为scala> object ConfigHolder {
| val config=Map("secret"->"value")
| }
defined object ConfigHolder
而不是ConfigHolder.config
config
命令在外壳中禁用/重新启用输出打印:silent
当然,这些操作都不能阻止任何可访问spark外壳的人读取您的凭据,而只是阻止临时围观者看到它们。