Skip to main content

EMR Cost Calculator

Features at a glance

  • Calculates exact costs of an EMR cluster (EMR + EC2 costs)
  • Multiple EMR clusters cost calculation for a given period
  • Spot prices and all other prices are exact and retrieved every time from AWS Pricing API
  • If a cluster is still running, costs incurred up to current time are displayed

Why the need for this script

Given that Amazon doesn't provide a straightforward solution to calculate the cost of an EMR workflow, this module aims to calculate the cost of an EMR workflow given a period of days, or the cost of a single cluster given the cluster id. The simple way to do that would be to use the information given by the JobFLow method of the boto.emr module. However, this method doesn't return any information about the Task nodes of a cluster, and whether or not spot instances were used. This cost calculator takes care of both. OnDemand instance prices are retrieved using the AWS pricing API. In case spot instances were used, the price is retrieved using the AWS EC2 API.

How it works

This module is using docopt to parse command line arguments.

It currently supports two operations:

  1. Get the total cost of an EMR workflow for a given period of days
  • aws-emr-cost-calculator total --created_after=<YYYY-MM-DD> --created_before=<YYYY-MM-DD>
  1. Get the cost of an EMR cluster given the cluster id
  • aws-emr-cost-calculator cluster --cluster_id=<j-xxxxxxxxxxxx>

Authentication to AWS API is done using credentials of AWS CLI which are configured by executing aws configure

Install

To install all requirements it's best to use pip install -r requirements.txt

Users with python<2.7.9 won't be able to run the code if requests[security] isn't installed (which is listed in requirements.txt)
Python 3.7 is tested, lower 3x versions will probably work though.

License

Distributed under the MIT license. See LICENSE for more information.

Release files for aws-emr-cost-calculator 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aws-emr-cost-calculator 0.0.1
File Size Uploaded
aws-emr-cost-calculator-0.0.1.tar.gz 6.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aws-emr-cost-calculator 0.0.1
File Interpreter ABI Platform
aws_emr_cost_calculator-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 14.0 kB

Release files / aws-emr-cost-calculator-0.0.1.tar.gz

Download URL aws-emr-cost-calculator-0.0.1.tar.gz
Size 6.3 kB
Tags Source
SHA-256 checksum
How to use checksums
bc3732cfd6e61c8f2abe4f3750a636c6e03174f70e566cfd76d0b125ab8d3bd2
BLAKE2b-256 checksum
How to use checksums
6473bbafff9342db84ac3a5a9bbad1fb33d8a06c83c979976d974569f57541d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0

Release files / aws_emr_cost_calculator-0.0.1-py3-none-any.whl

Download URL aws_emr_cost_calculator-0.0.1-py3-none-any.whl
Size 7.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a26b15a32dfd8bd94bcc74978cc99d2e413a900dc527b677ed72a6273c8b159f
BLAKE2b-256 checksum
How to use checksums
f6f26478d9c31396d078aac5ec6c52123338dd98cae6ef33f7aa82e662df5324
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page