Spark安全考虑因素

时间:2017-07-27 04:02:56

标签: security apache-spark build shared-libraries external

我在正常工作中有一些额外的安全考虑因素。我通常使用sbt来构建,我会给它一些库来从Maven存储库中获取。但现在,我无法使用大量的外部库,而且我现在还不确定是否可以去Maven获取我可能需要的Spark库。即使我要获得外部库,也会有一个审查过程,每个库需要几个月。有没有人处于类似的情况?从无法使用外部库的角度来看,任何人都可以分享他们所做的事情,以便拥有一套成功的Spark工作套件来在hadoop集群上进行数据整理和数据科学吗?

1 个答案:

答案 0 :(得分:1)

我认为在您暴露的环境中,没有针对您的问题的标准解决方案。这取决于你对外部依赖性的影响程度以及你真正需要的东西。我给你举个例子:解析csv行并构造dataframe / datasets或rdd。你有很多选择:

  • 使用外部库(来自数据库或其他人)
  • 依靠你的代码并手工完成,所以没有外部依赖
  • 依赖于知道如何处理csv的火花更新的版本

如果你有一个hadoop集群,那么所有的spark运行时环境已经包含了大量将要加载的库(json操作,网络,日志记录,仅举几例)。您的火花作业中的大多数业务逻辑都可以通过这些来完成。 我给出了一些关于我如何通过外部依赖来解决问题的例子,尽管我确实有任何安全限制。在一个案例中,我们必须在我们的Spark应用程序中使用Spring依赖项(因为我们想要更新一些关系表),所以我们得到了一个包含所有spring依赖项的胖jar,它们很多。结论:没有任何依赖(恐怖维护:))。所以这不是一个好方法。在其他情况下,我们必须做同样的事情,但后来我们将依赖保持在最低限度(最简单的事情是可以使用jdbc读取/更新表)。结论:胖罐不是那么大,我们只保留真正需要的东西,仅此而已。

Spark已经为您提供了许多功能。了解一个可以做某事的外部图书馆并不意味着火花可以用它所拥有的东西来做。