通过 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)咨询。

相关推荐
金融小师妹13 小时前
基于多模态宏观建模与历史序列对齐:原油能源供给冲击的“类1970年代”演化路径与全球应对机制再评估
大数据·人工智能·能源
播播资源13 小时前
OpenAI2026 年 3 月 18 日最新 gpt-5.4-nano模型:AI 智能体的“神经末梢”,以极低成本驱动高频任务
大数据·人工智能·gpt
GJGCY14 小时前
中小企业财务AI工具技术评测:四大类别架构差异与选型维度
大数据·人工智能·ai·架构·财务·智能体
发际线还在14 小时前
互联网大厂Java三轮面试全流程实战问答与解析
java·数据库·分布式·面试·并发·系统设计·大厂
九河云14 小时前
云上安全运营中心(SOC)建设:从被动防御到主动狩猎
大数据·人工智能·安全·架构·数字化转型
武子康15 小时前
大数据-252 离线数仓 - Airflow + Crontab 入门实战:定时调度、DAG 编排与常见报错排查
大数据·后端·apache hive
jinanwuhuaguo15 小时前
OpenClaw、飞书、Claude Code、Codex:四维AI生态体系的深度解构与颗粒化对比分析
大数据·人工智能·学习·飞书·openclaw
Rubin智造社15 小时前
# OpenClaude命令实战|核心控制三剑客/reasoning+/verbose+/status 实操指南
大数据·人工智能
华奥系科技16 小时前
智慧经济新格局:解码社区、园区与城市一体化建设逻辑
大数据·人工智能·科技·物联网·安全
TDengine (老段)16 小时前
TDengine IDMP 组态面板 —— 画布
大数据·数据库·物联网·时序数据库·tdengine·涛思数据