2017-07-27 68 views
0

我对正常工作有一些额外的安全考虑。我通常使用sbt来构建,我会给它一些库来从Maven仓库中抓取。但是现在,我无法使用很多外部库,并且我现在还不确定是否可以到Maven去获取我可能需要的Spark库。即使我要获得外部图书馆,也需要审查每个图书馆需要几个月的过程。有没有人遇到类似的情况?从不能使用外部库的角度来看,任何人都可以分享他们做了哪些工作来成功完成Spark作业套件,以便在hadoop群集上进行数据管理和数据科学研究?火花安全考虑

回答

1

我认为在您公开的环境中没有针对您的问题的标准解决方案。这取决于你有多少外部依赖以及你真正需要什么。我举一个例子:解析csv行并构造数据框/数据集或rdd。你有足够的选择:

  • 使用外部库(从databricks或其他)
  • 依赖于你的代码,做手工,所以没有外部的依赖
  • 依靠火花较新版本,它知道如何处理CSV

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

Spark已经为您提供了很多功能。了解一个可以做某件事情的外部图书馆并不意味着这个火花不能用它做到。