Amazon EMR biedt een beheerde service om eenvoudig analysetoepassingen uit te voeren met behulp van open-source frameworks zoals Apache Spark, Hive, Presto, Trino, HBase en Flink. De Amazon EMR-runtime voor Vonk en Presto omvat optimalisaties die meer dan twee keer zoveel prestatieverbeteringen bieden in vergelijking met open-source Apache Spark en Presto.
Met Amazon EMR release 6.7 kun je nu gebruiken Amazon Elastic Compute-cloud (Amazon EC2) C7g-instanties, die de AWS Graviton3 verwerkers. Deze instanties verbeteren de prijs-prestatieverhouding van het uitvoeren van Spark-workloads op Amazon EMR met 7.93–13.35% ten opzichte van instanties van de vorige generatie, afhankelijk van de omvang van de instantie. In dit bericht beschrijven we hoe we het prijs-prestatievoordeel hebben ingeschat.
Amazon EMR-runtimeprestaties met EC2 C7g-instanties
We hebben TPC-DS 3 TB benchmarkquery's uitgevoerd op Amazon EMR 6.9 met behulp van de Amazon EMR-runtime voor Apache Spark (compatibel met Apache Spark 3.3) met C7g-instanties. Er werden gegevens in opgeslagen Amazon eenvoudige opslagservice (Amazon S3), en de resultaten werden vergeleken met equivalente C6g-clusters uit de vorige generatie instantiefamilie. We hebben prestatieverbeteringen gemeten met behulp van de totale queryruntime en het geometrische gemiddelde van de queryruntime over TPC-DS 3 TB benchmarkquery's.
Onze resultaten toonden een verbetering van 13.65-18.73% in de totale runtime-prestaties van query's en een verbetering van 16.98-20.28% in het geometrisch gemiddelde op EMR-clusters met C7g in vergelijking met equivalente EMR-clusters met C6g-instanties, afhankelijk van de instantiegrootte. Bij het vergelijken van de kosten zagen we een kostenreductie van 7.93–13.35% op het EMR-cluster met C7g in vergelijking met het equivalent met C6g, afhankelijk van de instantiegrootte. We hebben de C6g xlarge-instantie niet gebenchmarkt omdat deze onvoldoende geheugen had om de query's uit te voeren.
De volgende tabel toont de resultaten van het uitvoeren van de TPC-DS 3 TB benchmarkquery's met Amazon EMR 6.9 in vergelijking met equivalente C7g- en C6g-instantie-EMR-clusters.
Instantiegrootte | 16 XL | 12 XL | 8 XL | 4 XL | 2 XL |
Totale grootte van het cluster (1 leider + 5 kernknooppunten) | 6 | 6 | 6 | 6 | 6 |
Totale queryruntime op C6g (seconden) | 2774.86205 | 2752.84429 | 3173.08086 | 5108.45489 | 8697.08117 |
Totale queryruntime op C7g (seconden) | 2396.22799 | 2336.28224 | 2698.72928 | 4151.85869 | 7249.58148 |
Totale runtime-verbetering van query's met C7g | 13.65% | 15.13% | 14.95% | 18.73% | 16.64% |
Geometrisch gemiddelde queryruntime C6g (seconden) | 22.2113 | 21.75459 | 23.38081 | 31.97192 | 45.41656 |
Geometrisch gemiddelde queryruntime C7g (seconden) | 18.43905 | 17.65898 | 19.01684 | 25.48695 | 37.43737 |
Geometrisch gemiddelde runtime-verbetering van query's met C7g | 16.98% | 18.83% | 18.66% | 20.28% | 17.57% |
Prijs EC2 C6g-instantie ($ per uur) | $2.1760 | $1.6320 | $1.0880 | $0.5440 | $0.2720 |
EMR C6g instantie prijs ($ per uur) | $0.5440 | $0.4080 | $0.2720 | $0.1360 | $0.0680 |
(EC2 + EMR) instantieprijs ($ per uur) | $2.7200 | $2.0400 | $1.3600 | $0.6800 | $0.3400 |
Kosten van draaien op C6g ($ per instantie) | $2.09656 | $1.55995 | $1.19872 | $0.96493 | $0.82139 |
Prijs EC2 C7g-instantie ($ per uur) | $2.3200 | $1.7400 | $1.1600 | $0.5800 | $0.2900 |
EMR C7g-prijs ($ per uur per instantie) | $0.5800 | $0.4350 | $0.2900 | $0.1450 | $0.0725 |
(EC2 + EMR) C7g instantieprijs ($ per uur) | $2.9000 | $2.1750 | $1.4500 | $0.7250 | $0.3625 |
Kosten van draaien op C7g ($ per instantie) | $1.930290 | $1.411500 | $1.086990 | $0.836140 | $0.729990 |
Totale kostenreductie met C7g inclusief prestatieverbetering | -7.93% | -9.52% | -9.32% | -13.35% | -11.13% |
De volgende grafiek toont verbeteringen per query die zijn waargenomen op C7g 2xlarge-instanties in vergelijking met equivalente C6g-generaties.
Benchmarking methodologie
De benchmark die in dit bericht wordt gebruikt, is afgeleid van de industriestandaard TPC-DS-benchmark en gebruikt query's van de Spark SQL-prestatietests GitHub-opslagplaats met GMT vast toegepast.
We hebben de TCO berekend door de kosten per uur te vermenigvuldigen met het aantal instanties in het cluster en de tijd die nodig was om de query's op het cluster uit te voeren. We gebruikten on-demand-prijzen in de regio US East (N. Virginia) voor alle instanties.
Conclusie
In dit bericht hebben we beschreven hoe we het kosten-prestatievoordeel hebben geschat van het gebruik van Amazon EMR met C7g-instanties in vergelijking met het gebruik van gelijkwaardige instanties van de vorige generatie. Het gebruik van deze nieuwe instanties met Amazon EMR verbetert de kostenprestaties met nog eens 7-13%.
Over de auteurs
Al MS is productmanager voor Amazon EMR bij Amazon Web Services.
Kyeonhyun Ryoo is Software Development Engineer voor EMR bij Amazon Web Services. Hij werkt voornamelijk aan het ontwerpen en bouwen van automatiseringstools voor interne teams en klanten om hun productiviteit te maximaliseren. Buiten zijn werk is hij een gepensioneerde wereldkampioen in professioneel gamen die nog steeds graag videogames speelt.
Yuzhou zon is softwareontwikkelaar voor EMR bij Amazon Web Services.
Steve Koonce is een Engineering Manager voor EMR bij Amazon Web Services.
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- Platoblockchain. Web3 Metaverse Intelligentie. Kennis versterkt. Toegang hier.
- Bron: https://aws.amazon.com/blogs/big-data/amazon-emr-launches-support-for-amazon-ec2-c7g-graviton3-instances-to-improve-cost-performance-for-spark-workloads-by-7-13/