日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

通过命令行界面使用AWS ElasticMapReduce

發布時間:2023/12/3 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通过命令行界面使用AWS ElasticMapReduce 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在本文中,我將通過針對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 ElasticMapReduce的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。