在Kubernetes上运行Apache Spark应用程序有很多好处,但大规模运营和管理Kubernetes却很困难重大的挑战数据团队。随着Spot的Kubernetes解决方案套件最近增加了Ocean for Apache Spark,数据团队拥有了Kubernetes的强大功能和灵活性,而不存雷电竞官网进入在复杂性。作为一种云原生管理服务,Ocean Spark为Spark-on- kubernetes自动化云基础设施和应用程序管理。
Ocean Spark设计为开发人员友好型,内置集成了流行的数据工具,包括调度解决方案,如气流和Jupyter笔记本电脑。雷电竞官网进入有多种方式运行Spark应用程序dota2雷竞技规则 :
- 您可以连接Jupyter笔记本与Spark交互工作
- 您可以使用调度程序提交Spark应用程序,如气流,Azure数据工厂,Kubeflow, Argo, Prefect,或只是一个简单的CRON作业。
- 你也可以直接打电话给Ocean SparkREST API可以从任何地方提交Spark应用程序,从而实现与基础设施、CI/CD工具等的自定义集成。
在本教程中,我们将向您展示如何连接企业客户中最流行的编排服务Apache气流,并说明如何在Ocean for Apache Spark上调度和监控工作流和管道。
我们将使用AWS服务Managed Workflows for Apache workflow (MWAA)作为我们的主要示例,因为它易于设置并处理底层基础设施的可伸缩性、可用性和安全性管理。但是这些说明很容易适应运行气流的其他方式。
(可选)为Apache气流设置Amazon托管工作流(MWAA)
Amazon S3桶用于存储Apache气流有向无环图(dag),自定义插件在一个plugins.zip文件中的Python依赖项让文件。请确保将S3桶配置为禁止所有公共访问,桶版本控制启用并位于与Amazon MWAA环境相同的AWS区域。
下图显示了如何在S3上设置存储不同工件的位置。
请按照说明操作在这里来同步git存储库和S3之间的文件
安装和配置海洋火花气流提供程序
在MWAA中,您可以提供一个requirements.txt文件,列出您想要安装的所有python包。你应该包括ocean-spark-airflow-provider包,也就是可用。在气流的其他发行版上,您可以通过运行简单地安装此包PIP安装ocean-spark-airflow提供商.
这个开源包(参见github库)提供了一个OceanSparkOperator,我们稍后将向您展示,以及一个配置如何与OceanSpark对话的连接。
请输入如下所示的连接详细信息。您可以从Admin ->连接->添加一个新记录(+号),并从连接类型下拉菜单中选择Ocean For Apache Spark。
在连接窗口中输入以下详细信息,然后单击Save。
- Connection Id:默认为ocean_spark_default。您可以使用不同的名称。
- 连接类型:在下拉菜单中选择“Ocean For Apache Spark”
- 描述:输入任意可选文本描述连接。
- 集群Id: Ocean Spark集群的Id
- Account Id:集群所属的Spot Account Id,对应云提供商帐户。
- API令牌:你的Spot by NetApp API令牌(请参阅如何创建API令牌)
在气流dag中使用海洋火花操作器
在气流中,DAG -或有向无环图-是您想要运行的任务的集合,以反映它们的关系和依赖关系的方式组织为图。气流只会开始运行一个任务,一旦它所有的上游任务完成。
当您使用Ocean Spark Operator定义气流任务时,该任务包括在Ocean Spark上运行Spark应用程序。例如,您可以并行运行多个独立的Spark管道,并且只有在并行管道完成后才运行最终的Spark(或非Spark)应用程序。
DAG中的最后一个Spark作业将在两个并行作业完成后执行。
DAG在Python脚本中定义,该脚本将DAG结构(任务及其依赖项)表示为代码。在使用MWAA时,您应该将DAG python脚本上传到S3 DAGs文件夹中。下面是一个由单个Spark作业组成的DAG示例。
文件上传到S3 DAGs文件夹后,DAG将在几分钟内出现在MWAA环境中
单击Run运行DAG。Spark应用程序将在您的Spot环境中开始运行几分钟(注意:您可以通过配置减少这个启动时间净空高度).
一旦应用程序完成,您应该看到DAG在MWAA环境中成功完成。
注意:如果您想为连接指定一个不同的名称,而不是默认名称(ocean_spark_default),请使用OceanSparkOperator的conn_id参数。
开始为Apache Spark使用Ocean
气流只是几个内置集成之一Ocean for Apache Spark支持数据团队使用Kubernetes运行Spark应用程序。了解如何使用Ocean Spark轻松设置、配置和扩展Spark应用程序和Kubernetes集群。安排初次会面与我们的Apache Spark解决方案架构师团队一起,我们雷电竞官网进入可以讨论您的用例,并帮助您成功登录我们的平台。