aws s3 命令行

在本文中,我将通过使用EMR的CLI使用AWS MapReduce服务(称为ElasticMapReduce )。

使用EMR的过程可以大致分为三个步骤:

  • 设置并填充S3存储桶
  • 创建并运行EMR作业
  • 从S3存储桶中获取结果

在开始这三个高级步骤之前,还需要安排一些其他事项:

  • 您将需要拥有一个AWS账户
  • 您将需要在计算机上安装S3客户端
  • 您将需要在计算机上安装EMR CLI

好吧,对于AWS账户,我只是假设它存在,否则就该让自己一个了

作为S3客户端,我使用s3cmd ,我在这里描述了安装。

要安装EMR CLI(在运行Lion的MacBook上),请按照此处介绍的步骤进行操作。 如说明所述,CLI可与Ruby 1.8.7版一起使用。 而不是更高版本。 由于我的MacOS默认随附Ruby 1.9.3,因此确实无法正常工作。 但是,没有恐慌,只是得到最新版本的CLI的这里从GitHub的(我更喜欢在降级标准的Ruby安装)。

安装EMR后,需要对其进行配置。 第一步是在EMR CLI目录的根目录中创建一个'credentials.json'文件。 我的凭据.json的内容:

{
"access_id": "XXXXXXXXXXXXXXX",
"private_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"keypair": "4synergy_palma",
"key-pair-file": "/Users/pascal/4synergy_palma.pem",
"log_uri": "S3://map-reduce-intro/log",
"region": "eu-west-1"
}

安装CLI后,我们可以开始实际工作。 我只坚持《 EMR开发人员指南》中的示例。

1.设置并填充S3存储桶

打开终端窗口。

从命令行创建S3存储桶:

s3cmd mb s3://map-reduce-intro

创建一个要与测试作业一起使用的输入文件:

nano input.txt

并在其中添加一些文本:

接下来,将此文件上传到存储桶中新文件夹中的存储桶中:

s3cmd put input.txt s3://map-reduce-intro/input/

接下来,创建一个映射器函数(Python脚本)并将其上传到S3存储桶:

nano wordsplitter.py

并从开发人员指南中放入示例脚本:

将该文件也上传到S3存储桶中,如下所示:

s3cmd put wordsplitter.py s3://map-reduce-intro/job/

如开发人员指南中所述,由于我们使用的是Hadoop的默认约简功能“聚合”,因此我们仅提供了映射脚本。

现在输入已准备就绪,我们可以创建作业并执行它。

2.创建并运行EMR作业

为此,我们从EMR CLI安装的根目录执行以下命令:

./elastic-mapreduce --create --stream --mapper s3://map-reduce-intro/job/wordsplitter.py --input s3://map-reduce-intro/input --output s3://map-reduce-intro/results --reducer aggregate

终端中的输出将只是一个作业ID,例如:

Created job flow j-2MO24NGGNMC5N

从S3存储桶中获取结果

如果我们移至S3存储桶并列出“结果”文件夹,则会看到以下内容(请注意,启动,执行和终止集群可能需要几分钟的时间):

MacBook-Air-van-Pascal:~ pascal$ s3cmd ls s3://map-reduce-intro/results/
2013-05-06 20:03 0 s3://map-reduce-intro/results/_SUCCESS
2013-05-06 20:03 27 s3://map-reduce-intro/results/part-00000
MacBook-Air-van-Pascal:~ pascal$

_SUCCESS文件只是告诉我们这项工作进展顺利。 文件“ part-00000”包含我们执行的“聚合”操作的输出。 要获得它,请执行以下操作:

s3cmd get s3://map-reduce-intro/results/part-00000

现在,如果我们查看预期的内容:

我知道这是一个非常基本的示例,关于EMR的确还有很多要展示的地方,但是至少这应该让您自己开始使用它。

要记住的一件事是每小时收取费用,如果您仅使用群集几秒钟,则需要支付整个小时的费用。 一个小时的成本比群集的EC2成本高约0.015美分。

参考: The Pragmatic Integrator博客上的JCG合作伙伴 Pascal Alma 的命令行界面中使用AWS ElasticMapReduce 。

翻译自: https://www.javacodegeeks.com/2013/05/using-aws-elasticmapreduce-with-the-command-line-interface.html

aws s3 命令行

aws s3 命令行_通过命令行界面使用AWS ElasticMapReduce相关推荐

  1. aws s3 静态网站_使用AWS S3存储桶启动静态网站

    aws s3 静态网站 This article explores the AWS S3 bucket to configure a static website. 本文探讨了用于配置静态网站的AWS ...

  2. php mate,textmate 命令行_使用PHP在TextMate中创建命令

    textmate 命令行_使用PHP在TextMate中创建命令 textmate 命令行_使用PHP在TextMate中创建命令 textmate 命令行 TextMate is the best ...

  3. aws s3 静态网站_如何使用AWS S3,CloudFront和命令行管理静态网站

    aws s3 静态网站 by Ben Cheng 通过本诚 如何使用AWS S3,CloudFront和命令行管理静态网站 (How to manage your static websites wi ...

  4. angular 命令行项目_Angular命令行界面介绍

    angular 命令行项目 Angular is closely associated with its command-line interface (CLI). The CLI streamlin ...

  5. awss3 android,aws s3 命令

    管理存储桶 创建桶; $ aws s3 mb s3://bucket-name 删除桶: $ aws s3 rb s3://bucket-name 删除非空桶: $ aws s3 rb s3://bu ...

  6. shell for循环命令行_七年老运维实战中的 Shell 开发经验总结

    来源:良许Linux ID:liangxuxiansheng 无论是系统运维,还是应用运维,均可分为"纯手工"-> "脚本化"-> "自动 ...

  7. aws s3 静态网站_如何将静态网站或JAMstack应用托管并部署到AWS S3和CloudFront

    aws s3 静态网站 S3 and CloudFront are AWS cloud services that make serving static assets powerful and ch ...

  8. golang 命令行_如何使用Golang编写快速有趣的命令行应用程序

    golang 命令行 by Peter Benjamin 彼得·本杰明(Peter Benjamin) 如何使用Golang编写快速有趣的命令行应用程序 (How to write fast, fun ...

  9. shell for循环命令行_精心汇总的24道shell脚本面试题

    虽然现在Python在运维工作中已经使用很普遍,但是很多企业在找Linux云计算工程师的时候还是会问到 shell 脚本的问题,它有助于你在工作环境中自动完成很多任务. 如下是一些面试过程中,经常会遇 ...

最新文章

  1. ideal连接数据库报错The server time zone value ‘�й���׼ʱ��’ is unrecognized or represents more than one time
  2. client-go入门之3:解析 yaml 文件并创建 k8s 资源对象
  3. 2015/Province_C_C++_C/9/打印大X
  4. nacos 读取纯数字字符 出错 @value
  5. java链式调用空指针_java 链式调用
  6. 【CodeForces - 1082B】Vova and Trophies (贪心模拟,暴力)
  7. 【XML】XML实例模板
  8. pdg快速转换pdf源码_在手机上快速免费把图片转换成PDF文件
  9. 安装激活visio2013 professional版本
  10. 湘西州2021年高考成绩查询,2021年湘西高考状元名单公布,湘西文理科状元是谁多少分...
  11. 对数回归 matlab,高斯过程回归GPR-MATLAB语法解释
  12. 歌声合成理论教程(1)
  13. 统计软件简介与数据操作
  14. Vue 的渐进式是什么意思?
  15. 音视频开发之旅(34) - 基于FFmpeg实现简单的视频解码器
  16. 艾美智能影库服务器ip,艾美影库MS-300 到底怎么样?
  17. 如何用数字化构建企业的“韧性”?
  18. KO88冲销工单结算
  19. Python学习笔记Day01--Day06
  20. xshell6 和 xftp6 官网免费下载

热门文章

  1. Hadoop入门(十七)Mapreduce的多表关联程序
  2. Redis进阶之主从复制
  3. Oracle入门(五C)之68个系统变量的key和默认value
  4. 架构师必须搞懂DNS,一篇文章就够了。
  5. mybatis简单案例源码详细【注释全面】——测试层(UserMapperTest.java)
  6. 什么注解可以改变BigDecimal类型的字段返回的小数位数?
  7. phone6s home键按不动了怎么办 苹果6s home键按不动解决方法
  8. 学生用计算机说明方法,15.文中多处运用了作比较的说明方法.请任选一例.说说运用这种方法的作用. 例子: 作用:...
  9. 定时任务重启后执行策略_C语言操作时间函数time.ctime,实现定时执行某个任务小例子...
  10. 如何导入数据模板到MVC