AWS EMR Serverless

AWS概述
EMR Serverless

简介

在AWS概述一文中简单介绍过AWS EMR, 它是AWS提供的云端大数据平台。借助EMR可以设置集群以便在几分钟内使用大数据框架处理和分析数据。创建集群可参考官方文档:Amazon EMR 入门。但集群创建之后需要一直运行,用户需要管理集群的生命周期,包括启动、配置、监控和终止集群。因此EMR集群模式适用于需要长时间运行作业或者需要直接访问底层基础设施进行调试和运维的场景。

相比之下,EMR Serverless模式是一种无需管理集群的无服务器模式。用户只需提交作业,EMR Serverless会自动处理资源的部署、扩展和管理,按需提供计算资源。好处是无需管理集群,用户只需为实际使用的计算和存储资源付费,计算资源在作业完成之后会自动释放。下文将介绍如何创建EMR Serverless并提交作业。

创建EMR Serverless

首先需要一个Studio工作台,直接搜索EMR进入控制台,选择左侧EMR Serverless菜单,导航到landing页,点击“Get started”后会弹出提示窗口:
在这里插入图片描述

确认后AWS会创建一个默认的Studio和关联的Workspace,接下来会让你继续创建Application。这一步可以先停止,回退到工作台的dashboard也可以创建Application。创建Application时需要注意初始化选项,如果使用默认值,则应用的硬件资源基本是没有限制的。因此推荐使用自定义设置,将初始化资源容量和Application limit按照需要进行限制,防止使用过多资源:
在这里插入图片描述
Application创建完成之后,AWS会自动创建一个role,但这个role是aws管理的,不能做任何修改。
我们还需要创建一个新的role,用于执行job。步骤如下:

  • 先创建一个信任策略,如trust-policy.json
{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Principal": {"Service": "emr-serverless.amazonaws.com"},"Action": "sts:AssumeRole"}]
}

该策略允许EMR Serverless服务(emr-serverless.amazonaws.com) 承担(assume)该角色。

  • 创建role
aws iam create-role --role-name EMRServerlessJobRole --assume-role-policy-document file://trust-policy.json

执行成功会返回角色的详细信息,包括ARN。

  • 创建角色策略1
aws iam create-policy --policy-name EMRServerlessS3AndGlueAccessPolicy --policy-document file://emr-custom-polocy.json# 策略文件内容
{"Version": "2012-10-17","Statement": [{"Sid": "ReadAccessForEMRSamples","Effect": "Allow","Action": ["s3:GetObject","s3:ListBucket"],"Resource": ["*"]},{"Sid": "FullAccessToOutputBucket","Effect": "Allow","Action": ["s3:PutObject","s3:GetObject","s3:ListBucket","s3:DeleteObject"],"Resource": ["*"]},{"Sid": "GlueCreateAndReadDataCatalog","Effect": "Allow","Action": ["glue:GetDatabase","glue:CreateDatabase","glue:GetDataBases","glue:CreateTable","glue:GetTable","glue:UpdateTable","glue:DeleteTable","glue:GetTables","glue:GetPartition","glue:GetPartitions","glue:CreatePartition","glue:BatchCreatePartition","glue:GetUserDefinedFunctions"],"Resource": ["*"]}]
}
  • 将角色策略附加给角色
aws iam attach-role-policy --role-name EMRServerlessJobRole --policy-arn arn:aws:iam::123456789:policy/EMRServerlessS3AndGlueAccessPolicy

创建S3桶

创建S3桶以便存储任务的输入和输出文件。下载官方文档Amazon EMR 入门提供的数据集和任务脚本,将其上传到所创建的S3 bucket中:
在这里插入图片描述

运行任务

现在Application和所需的role与S3资源都已经准备好了,可以运行任务了。

点击提交任务按钮,在任务界面输入Job的名称,选择上文创建好的角色,并从S3中选中任务脚本,指定脚本参数如下:

在这里插入图片描述

提交任务,稍等几分钟后即可看到运行结果。打开S3的输出文件夹可以看到具体处理后的结果信息。

提交任务时还可以选择demo任务,这是Spark自带的job示例。该job会输出Pi的值,无需S3和任务参数。

参考资料

[1].https://docs.aws.amazon.com/zh_cn/emr/latest/EMR-Serverless-UserGuide/getting-started.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/23085.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Nginx+Tomcat负载均衡、动静分离集群

目录 1.Nginx负载均衡 1.1 负载均衡概念 1.2 负载均衡原理 1.3 Nginx配置反向代理 1.3.1 反向代理概念 1.3.2 反向代理主要参数 2.Nginx动静分离 2.1 动静分离的概念 2.2 Nginx 静态处理优势 2.3 动静分离原理 3. NginxTomcat动静分离的实验设计 3.1 准备三台虚拟机…

js 选择一个音频文件,绘制音频的波形,从右向左逐渐前进。

选择一个音频文件&#xff0c;绘制波形&#xff0c;从右向左逐渐前进。 完整代码&#xff1a; <template><div><input type"file" change"handleFileChange" accept"audio/*" /><button click"stopPlayback" :…

Typora编辑的markdown文档莫名其妙消失或未保存--解决方案【亲测可行】

由于误触键盘导致文件关闭&#xff0c;打开文件之后发现里面文字全没了~气死了&#xff01;&#xff01;&#xff01;&#xff01; 可以通过如下方法解决&#xff01; 一、打开typora 二、【文件】-【偏好设置】 三、点击恢复未保存的草稿&#xff0c;找到最近的文件复制粘贴…

django 内置 JSON 字段 使用场景

Django 内置的 JSON 字段&#xff08;JSONField&#xff09;是在 Django 3.1 版本中引入的&#xff0c;用于处理 JSON 格式的数据。JSONField 允许在数据库表中存储和查询 JSON 数据&#xff0c;并且在与 Python 代码交互时自动转换为合适的 Python 数据类型。以下是一些常见的…

2024050302-重学 Java 设计模式《实战享元模式》

重学 Java 设计模式&#xff1a;实战享元模式「基于Redis秒杀&#xff0c;提供活动与库存信息查询场景」 一、前言 程序员&#x1f468;‍&#x1f4bb;‍的上下文是什么&#xff1f; 很多时候一大部分编程开发的人员都只是关注于功能的实现&#xff0c;只要自己把这部分需求…

Facebook商城号怎么做?思路与操作分析

2016 年&#xff0c;Facebook打造了同名平台 Facebook Marketplace。通过利用 Facebook 现有的庞大客户群&#xff0c;该平台取得了立竿见影的成功&#xff0c;每月访问量将超过 10 亿。对于个人卖家和小企业来说&#xff0c;Facebook Marketplace是一个不错的销货渠道&#xf…

【二进制部署k8s-1.29.4】十一、metallb的安装部署

文章目录 简介 一.安装metallb二.配置metallb三.验证metallb 简介 本章节主要讲解安装metallb-v0.7.1的安装&#xff0c;metallb算是平民版的负载均衡&#xff0c;用于测试、访问量较小的情况还是比较不错的&#xff0c;但是对于请求量比较的时候&#xff0c;由于流量都集中在一…

猫熊超市管理系统

import java.util.Scanner;//增加商品类 //此类用来录入一个商品的所有属性&#xff0c;并作为结果对其返回 public class Add {public Goods add1() {Scanner scanner new Scanner(System.in);System.out.println("请输入商品名称");String name scanner.next();S…

dns域名解析服务和bond网卡

目录 dns域名解析服务 一、DNS 1、定义 2、以www.baidu.com为例 3、域名体系结构 4、DNS解析使用的协议和端口 5、dns域名解析的过程 6、dns解析的优先级 二、如何实现域名解析 1、域名解析 2、bind配置文件位置 &#xff08;一&#xff09;正向解析 &#xff08;…

每天CTF小练--ctfshow新手村

easy_base 密文&#xff1a;0XezFWZfNXafRjNlNXYit3dvh2cmR3Y 等号在前面&#xff0c;直接倒序后解码 ctfshow{base64_is_easy} 代码解&#xff1a; s 0XezFWZfNXafRjNlNXYit3dvh2cmR3Y print(s[::-1]) #翻转字符串 print(s[::-1]) #翻转字符串 print(s[::-1]) #翻转…

HarmonyOS(二十五)——Harmonyos通用事件之点击事件

组件被点击时触发的事件就是点击事件。 1.事件 名称支持冒泡功能描述onClick(event: (event?: ClickEvent) > void)否点击动作触发该回调&#xff0c;event返回值见ClickEvent对象说明。从API version 9开始&#xff0c;该接口支持在ArkTS卡片中使用。 2.ClickEvent对象…

C++ STL初阶(2):string 的模拟实现

此文的背景是自己实现库中的string&#xff0c;由于string的模版实现较为困难&#xff0c;我们只实现最简单char版本。 1.命名空间分割 为了避免与库中的string冲突&#xff0c;我们使用一个自己的命名空间中来分离并实现所有内容&#xff0c;并且将所有的声明和定义相分离&…

Etcd Raft架构设计和源码剖析1:宏观架构

Etcd Raft架构设计和源码剖析1&#xff1a;宏观架构 | Go语言充电站 序言 Etcd提供了一个样例contrib/raftexample&#xff0c;用来展示如何使用etcd raft。这篇文章通过raftexample介绍如何使用etcd raft。 raft服务 raftexample是一个分布式KV数据库&#xff0c;客户端可…

vivado BEL_PIN、CELL

BEL_PIN是BEL对象上的接点或连接点。 BEL_PIN是一个设备对象&#xff0c;与网表对象&#xff08;如逻辑上的PIN&#xff09;相关 CELL&#xff0c;它是NET的连接点。 相关对象 如图所示&#xff0c;BEL_PIN-对象与BEL和SITE设备资源相关&#xff0c;并且 PIN和NET网表对象。您可…

Nginx配置详细解释:(3)http模块及server模块,location模块

目录 环境概述&#xff1a; http模块中的全局模块 1. root配置主要是对主web页面的路径访问。 2.server虚拟主机 2.1基于IP&#xff1a; 2.2基于域名&#xff1a; 3.alias别名 4.location匹配 5.access模块&#xff1a; 6.验证模块 7.自定义错误页面 8.日志存放位置…

王道408数据结构CH3_栈、队列

概述 3.栈、队列和数组 3.1 栈 3.1.1 基本操作 3.1.2 顺序栈 #define Maxsize 50typedef struct{ElemType data[Maxsize];int top; }SqStack;3.1.3 链式栈 typedef struct LinkNode{ElemType data;struct LinkNode *next; }*LiStack;3.2 队列 3.2.1 基本操作 3.2.2 顺序存储…

【Intro】Cora数据集介绍

https://graphsandnetworks.com/the-cora-dataset/ Graph Convolutional Network (GCN) on the CORA citation dataset — StellarGraph 1.0.0rc1 documentation pytorch-GAT/The Annotated GAT (Cora).ipynb at main gordicaleksa/pytorch-GAT GitHub Cora数据集 Cora数据…

Windows上虚拟机安装OpenGaus22.03

在Windows上安装OpenGauss并不像在Linux上那么直接&#xff0c;因为OpenGauss主要面向OpenEuler系统设计。可以通过使用虚拟机或者Docker来在Windows上运行OpenGauss。虚拟机比Docker提供更完整的操作环境。以下是采用虚拟机的详细步骤&#xff1a; 通过虚拟机安装OpenGauss …

运放应用1 - 反相放大电路

1.前置知识 反相放大电路存在 负反馈电路 &#xff0c;工作在线性区&#xff0c;可以利用 虚短 概念来分析电路。 注&#xff1a;运放的 虚断 特性是一直存在的&#xff0c;虚短特性则需要运放工作在 线性区 有关运放的基础知识&#xff0c;可以参考我的另外一篇文章&#xff…

ASCE(美国土木工程师学会)文献校外去哪里查找下载

今天要讲的数据库是ASCE&#xff08;美国土木工程师学会&#xff09;&#xff0c;该数据库每年出版5万多页的专业期刊、杂志、会议录、专著、技术报告、实践手册和标准等。目前&#xff0c;ASCE数据库中包含35种期刊(1983年至今)、近700卷会议录( 1996年至今)、Civil Engineeri…