使用 Spark 进行开发的最佳实践

数据挖掘 阿帕奇火花 apache-hadoop 斯卡拉
2022-03-03 04:08:17

我正在寻找有关如何使用 Spark 开发应用程序的任何提示和最佳实践。我目前可以访问一个集群,其中包含数据以及边缘节点上的 Spark 2.1.0 版本和本地计算机上的 IntelliJ。

我想知道开发应用程序以在集群中的数据上运行的最佳方法是什么。我想考虑的事情如下;

  1. IntelliJ 是一个不错的 IDE,但我无法在本地机器上存储我想查看的数据量
  2. 我可以在边缘节点上运行 spark-shell,但它不适合数据探索和开发

如何最好地弥合数据和良好的开发环境之间的差距?

1个回答

您要做的是在 IntelliJ 中开发您的代码,然后使用 SBT 或 Maven 将您的代码和依赖项打包到一个可执行的 jar 文件中。

当您将 jar 存储在本地时,您可以使用spark-submit将 jar 传输到您的集群(以及一些其他参数)以执行。

您可能还想获取数据样本并将其存储在本地,以便您可以在本地运行 spark 并在 IntelliJ 中测试/调试代码。这可以大大加快开发速度,并且可以访问调试器是一个巨大的帮助。