当前位置: 首页 > news >正文

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 基于FPGA的以太网设计(3)----详解各类xMII接口
  • vite环境下使用bootstrap
  • 软件测试---测试需求分析
  • 通过libx246 libfaac转换推送RTMP音视频直播流
  • 【BUG】已解决:ValueError: All arrays must be of the same length
  • Flutter - 安卓一次打包不同包名的apk
  • springMVC是如何做url映射到controller的?
  • HTML(六)——HTML表单和框架
  • 数据结构从入门到精通二 ~ 数组和链表
  • 一线大厂java面试题
  • go语言Gin框架的学习路线(九)
  • 构造+位运算,CF 1901C - Add, Divide and Floor
  • mac M1安装换脸Roop教程及所遇到的问题
  • 微信小程序:多图片显示及图片点击放大,多视频显示
  • git的一些使用技巧(git fetch 和 git pull的区别,git merge 和 git rebase的区别)
  • $translatePartialLoader加载失败及解决方式
  • [case10]使用RSQL实现端到端的动态查询
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • C++入门教程(10):for 语句
  • Git初体验
  • Java Agent 学习笔记
  • Laravel核心解读--Facades
  • MYSQL 的 IF 函数
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • Tornado学习笔记(1)
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • Zsh 开发指南(第十四篇 文件读写)
  • 初识 webpack
  • 从setTimeout-setInterval看JS线程
  • 汉诺塔算法
  • 机器学习学习笔记一
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 码农张的Bug人生 - 见面之礼
  • 如何优雅地使用 Sublime Text
  • 如何在GitHub上创建个人博客
  • 王永庆:技术创新改变教育未来
  • 我从编程教室毕业
  • 无服务器化是企业 IT 架构的未来吗?
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • FaaS 的简单实践
  • #13 yum、编译安装与sed命令的使用
  • #14vue3生成表单并跳转到外部地址的方式
  • #include
  • (C语言)fread与fwrite详解
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第6节 (嵌套的Finally代码块)
  • (八)c52学习之旅-中断实验
  • (纯JS)图片裁剪
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (六)Hibernate的二级缓存
  • (算法)Travel Information Center
  • (已解决)Bootstrap精美弹出框模态框modal,实现js向modal传递数据
  • (转)ABI是什么