通过 EMR Serverless Spark 提交 PySpark 流任务

在大数据快速发展的时代,流式处理技术对于实时数据分析至关重要。EMR Serverless Spark提供了一个强大而可扩展的平台,它不仅简化了实时数据处理流程,还免去了服务器管理的烦恼,提升了效率。本文将指导您使用EMR Serverless Spark提交PySpark流式任务,展示其在流处理方面的易用性和可运维性。

前提条件

已创建工作空间,详情请参见创建工作空间

操作流程

步骤一:创建实时数据流集群并产生消息

  1. 在EMR on ECS页面,创建包含Kafka服务的实时数据流集群,详情请参见创建集群

  2. 登录EMR集群的Master节点,详情请参见登录集群

  3. 执行以下命令,切换目录。

    cd /var/log/emr/taihao_exporter

  4. 执行以下命令,创建Topic。

    创建名为taihaometrics的Topic,分区数10,副本因子2。

    kafka-topics.sh --partitions 10 --replication-factor 2 --bootstrap-server core-1-1:9092 --topic taihaometrics --create

  5. 执行以下命令,发送消息。

    使用kafka-console-producer发送消息到taihaometrics Topic。

    tail -f metrics.log | kafka-console-producer.sh --broker-list core-1-1:9092 --topic taihaometrics

步骤二:新增网络连接

  1. 进入网络连接页面。
  • 在EMR控制台的左侧导航栏,选择EMR Serverless > Spark

  • Spark页面,单击目标工作空间名称。

  • EMR Serverless Spark 页面,单击左侧导航栏中的网络连接

2.在网络连接 页面,单击新增网络连接

3.在新增网络连接 对话框中,配置以下信息,单击确定

状态 显示为已成功时,表示新增网络连接成功。

步骤三:为EMR集群添加安全组规则

  1. 获取集群节点交换机的网段。您可以在节点管理 页面,单击节点组名称,查看关联的交换机信息,然后登录专有网络管理控制台,在交换机页面获取交换机的网段。

2.添加安全组规则。

  1. 集群管理页面,单击目标集群的集群ID。

  2. 基础信息 页面,单击集群安全组后面的链接。

  3. 在安全组规则页面,单击手动添加,填写端口范围和授权对象,然后单击保存

步骤四:上传JAR包至OSS

上传kafka.zip中的所有JAR包至OSS,上传操作可以参见简单上传

步骤五:上传资源文件

  1. 在EMR Serverless Spark页面,单击左侧导航栏中的资源上传

  2. 资源上传 页面,单击上传文件

  3. 上传文件 对话框中,单击待上传文件区域选择pyspark_ss_demo.py文件。

步骤六:新建并启动流任务

  1. 在EMR Serverless Spark页面,单击左侧的任务开发

  2. 单击新建

  3. 输入任务名称,新建一个Application(流任务) > PySpark 类型的任务,然后单击确定

  4. 在新建的任务开发中,配置以下信息,其余参数无需配置,然后单击保存

5.单击发布

6.在发布 任务对话框中,单击确定

7.启动流任务。

  • 单击前往运维
  • 单击启动

步骤七:查看日志

  1. 单击日志探查页签。

  2. Driver日志 列表中,单击stdOut.log。在打开的日志文件中,您可以看到应用程序执行的相关信息以及返回的结果。

相关文档

  1. EMR Serverless Spark 版官网:https://www.aliyun.com/product/bigdata/serverlessspark

  2. 产品控制台:https://emr-next.console.aliyun.com/

  3. 产品文档:https://help.aliyun.com/zh/emr/emr-serverless-spark/

  4. PySpark 批任务的开发流程示例:PySpark任务快速入门


EMR Serverless Spark 在 2024年5月正式开启公测,在公测期间可以免费使用最高 100 CU 计算资源,欢迎试用。 如果您在使用 EMR Serverless Spark 版的过程中遇到任何疑问,可加入钉钉群(群号:58570004119)咨询。

相关推荐
Data跳动1 小时前
Spark内存都消耗在哪里了?
大数据·分布式·spark
woshiabc1112 小时前
windows安装Elasticsearch及增删改查操作
大数据·elasticsearch·搜索引擎
lucky_syq2 小时前
Saprk和Flink的区别
大数据·flink
lucky_syq2 小时前
流式处理,为什么Flink比Spark Streaming好?
大数据·flink·spark
袋鼠云数栈2 小时前
深入浅出Flink CEP丨如何通过Flink SQL作业动态更新Flink CEP作业
大数据
Java程序之猿3 小时前
微服务分布式(一、项目初始化)
分布式·微服务·架构
来一杯龙舌兰3 小时前
【RabbitMQ】RabbitMQ保证消息不丢失的N种策略的思想总结
分布式·rabbitmq·ruby·持久化·ack·消息确认
小白学大数据4 小时前
如何使用Selenium处理JavaScript动态加载的内容?
大数据·javascript·爬虫·selenium·测试工具
15年网络推广青哥4 小时前
国际抖音TikTok矩阵运营的关键要素有哪些?
大数据·人工智能·矩阵
节点。csn5 小时前
Hadoop yarn安装
大数据·hadoop·分布式