在集群上创建并运行 Spark 应用程序
最后修改时间:2023 年 9 月 7 日本教程涵盖了使用 Spark 的基本场景:我们将创建一个简单的应用程序,使用 Gradle 构建它,将其上传到 AWS EMR 集群,并监控 Spark 和 Hadoop YARN 中的作业。
我们将执行以下步骤:
使用 Spark 项目向导从头开始创建新的 Spark 项目。该向导允许您选择构建工具(SBT、Maven 或 Gradle)和 JDK,并确保您拥有所有必需的 Spark 依赖项。
将 Spark 应用程序提交到 AWS EMR。我们将使用一个特殊的装订线图标,它创建一个随时可用的运行配置。
安装 Spark 插件
此功能依赖于Spark插件,您需要安装并启用该插件。
按打开 IDE 设置,然后选择插件。CtrlAlt0S
打开Marketplace选项卡,找到Spark插件,然后单击Install(如果出现提示,请重新启动 IDE)。
提示
如果您将 Spark 与 Scala 一起使用,则还必须安装Scala插件。
创建 Spark 项目
转到文件| 新 | 项目。
在新建项目向导的左窗格中,选择Spark。
指定项目的名称及其位置。
在构建系统列表中,选择Gradle。
在SDK列表中,选择 JDK 8、11 或 17。
在“工件坐标”下,指定组 ID 和版本。
单击创建。
这将创建一个具有基本结构的新 Spark 项目以及具有 Spark 依赖项的build.gradle。
创建 Spark 应用程序
在创建的项目中,右键单击src | 主要| scala文件夹(或按)并选择New | Scala类。AltInsert
在打开的“创建新 Scala 类”窗口中,选择“对象”并输入名称,例如
SparkScalaApp
。编写一些 Spark 代码。如果您在应用程序方法中使用
getOrCreate
该类的方法,则装订线中会出现一个特殊的图标,它可以让您快速创建运行 Spark Submit 配置。SparkSession
main
例如:
Sample Spark application
{...}
设置对 AWS EMR 集群的 SSH 访问
Spark Submit运行配置需要通过 SSH 访问 AWS EMR 集群才能在其上运行 Spark-submit 命令。
如果您还没有与 AWS EMR 的连接,请创建一个连接。
打开AWS EMR工具窗口:查看 | 工具窗口 | AWS 电子病历。
选择一个集群,打开Info选项卡,然后单击Open SSH Config。
在打开的SSH 配置窗口中,检查身份验证参数并提供私钥文件的路径。要验证此配置,请单击测试连接。
提示
除了运行配置之外,您还可以使用 SSH 配置通过单击连接到集群主节点,并通过单击 来通过 SFTP 连接到集群主节点。
将 Spark 作业提交到 AWS EMR
通过专用的Spark Submit运行配置,您可以立即构建 Spark 应用程序并将其提交到 AWS EMR 集群。要将工件上传到 AWS EMR,您可以使用 Gradle 任务、IntelliJ IDEA 工件或选择现有 JAR 文件。在本教程中,我们将使用 Gradle。
在装订线中,单击方法旁边的
getOrCreate
。选择创建 Spark 提交配置。
指定运行配置的以下参数:
在远程目标列表中,选择 AWS EMR 集群。IntelliJ IDEA 建议在其上运行 Spark 历史记录服务器的集群。
在Application中,单击并选择一个 Gradle 工件。
当您运行此配置时,IntelliJ IDEA 将构建此工件,然后将其上传到 AWS EMR。您可以在启动前部分看到相应的运行 Gradle 任务和通过 SFTP 上传文件步骤。
单击“其他自定义”,启用“Spark 配置”部分,并在“集群管理器”列表中确保选择“Hadoop YARN” 。
单击运行。
这将打开包含 Gradle 任务的运行工具窗口。构建工件后,Spark Submit 任务将在“运行”工具窗口的新选项卡中打开。
有关此运行配置的更多信息,请参阅Spark 提交运行配置。
在 Spark History Server 中打开应用程序
如果您的应用程序成功上传到 AWS EMR,它将在 Spark 历史记录服务器中可用。您将在“运行”工具窗口中看到相应的通知。您可以在浏览器中打开它,也可以在专用的Spark 监控工具窗口中打开它。
在“运行工具”窗口中,单击打开的通知中的“打开监控” 。
笔记
如果您还没有 Spark 连接,请单击创建连接。然后,您可以单击创建默认值以根据 AWS EMR 集群设置创建默认 Spark 连接。
或者,您可以单击运行工具窗口中运行配置输出中的跟踪 URL。
有关Spark监控工具窗口的更多信息,请参阅Spark监控。
从 Hadoop YARN 资源管理器打开 Spark 作业
如果您将 Spark 应用程序提交到 YARN 集群,它将作为 YARN 应用程序运行,并且您可以在专用的Hadoop YARN工具窗口(由Metastore Core插件提供)中对其进行监控。这就是我们在教程中在Spark Submit运行配置中选择 Hadoop YARN 作为集群管理器时所做的事情。
提示
如果您还没有配置Hadoop YARN连接,请参考Hadoop YARN。
打开Hadoop YARN工具窗口:查看| 工具窗口 | Hadoop 纱线。如果您有多个 Hadoop YARN 连接,请使用工具窗口顶部的选项卡选择所需的连接。
打开“应用程序”选项卡并使用“ID”列找到您的应用程序。
单击“跟踪 url”列中的地址。
如果您没有重定向到Spark 监控工具窗口,则会出现有关丢失连接的通知。单击“选择连接”以选择现有 Spark 连接,或者单击“更多”|“ 创建连接以创建新连接。
与 Spark 的这种集成是在 Hadoop YARN 连接设置中配置的。要检查或更改它,请打开 Hadoop YARN 连接设置(通过单击Hadoop YARN工具窗口或大数据工具工具窗口),然后在Spark 监控列表中选择 Spark 连接。
有关Hadoop YARN工具窗口的更多信息,请参阅Hadoop YARN。
感谢您的反馈意见!