وقت تشغيل Amazon EMR لـ Apache Spark هو وقت تشغيل مُحسّن للأداء لـ Apache Spark وهو متوافق بنسبة 100٪ مع واجهة برمجة تطبيقات Apache Spark مفتوحة المصدر. مع أمازون EMR الإصدار 6.9.0 ، يدعم وقت تشغيل EMR لـ Apache Spark إصدار Spark المكافئ 3.3.0.
مع Amazon EMR 6.9.0 ، يمكنك الآن تشغيل تطبيقات Apache Spark 3.x بشكل أسرع وبتكلفة أقل دون الحاجة إلى إجراء أي تغييرات على تطبيقاتك. في اختبارات قياس الأداء الخاصة بنا ، المستمدة من اختبارات أداء TPC-DS بمقياس 3 تيرابايت ، وجدنا أن وقت تشغيل EMR لـ Apache Spark 3.3.0 يوفر 3.5 مرة (باستخدام إجمالي وقت التشغيل) في المتوسط من تحسين الأداء على Apache Spark 3.3.0 مفتوح المصدر. XNUMX.
في هذا المنشور ، نقوم بتحليل نتائج اختباراتنا المعيارية التي تعمل على تشغيل تطبيق TPC-DS المصدر المفتوح Apache Spark ثم على Amazon EMR 6.9 ، والذي يأتي مع وقت تشغيل Spark مُحسَّن متوافق مع Spark مفتوح المصدر. نتصفح تحليلًا مفصلاً للتكلفة وأخيرًا نقدم إرشادات خطوة بخطوة لتشغيل المعيار.
النتائج الملاحظة
لتقييم تحسينات الأداء ، استخدمنا أداة اختبار أداء Spark مفتوحة المصدر مشتقة من مجموعة أدوات اختبار أداء TPC-DS. أجرينا الاختبارات على مجموعة مكونة من سبع عقد (ست عقد أساسية وعقدة أساسية واحدة) مجموعة EMR c5d.9xlarge مع وقت تشغيل EMR لـ Apache Spark ، ومجموعة ثانية ذات سبع عقد مُدارة ذاتيًا على الأمازون الحوسبة المرنة السحابية (Amazon EC2) بإصدار مكافئ مفتوح المصدر من Spark. أجرينا كلا الاختبارين مع البيانات بتنسيق خدمة تخزين أمازون البسيطة (أمازون S3).
يُعد تخصيص الموارد الديناميكي (DRA) ميزة رائعة لاستخدامها في أحمال العمل المتنوعة. ومع ذلك ، بالنسبة لتمرين قياس الأداء حيث نقارن بين نظامين أساسيين فقط على الأداء ، ولا تتغير أحجام بيانات الاختبار (3 تيرابايت في حالتنا) ، نعتقد أنه من الأفضل تجنب التباين من أجل إجراء مقارنة من التفاح إلى التفاح. في اختباراتنا في كل من Spark مفتوح المصدر و Amazon EMR ، قمنا بتعطيل DRA أثناء تشغيل تطبيق قياس الأداء.
يوضح الجدول التالي إجمالي وقت تشغيل المهمة لجميع الاستعلامات (بالثواني) في مجموعة بيانات استعلام سعة 3 تيرابايت بين إصدار Amazon EMR 6.9.0 وإصدار Spark مفتوح المصدر 3.3.0. لاحظنا أن اختبارات TPC-DS لديها وقت تشغيل إجمالي للعمل على Amazon EMR على Amazon EC2 والذي كان أسرع 3.5 مرة من ذلك باستخدام مجموعة Spark مفتوحة المصدر من نفس التكوين.
يوضح الرسم البياني التالي تسريع كل استعلام على Amazon EMR 6.9 مع وبدون وقت تشغيل EMR لـ Apache Spark. يعرض المحور الأفقي كل استعلام في معيار 3 تيرابايت. يُظهر المحور الرأسي تسريع كل استعلام بسبب وقت تشغيل EMR. تعد المكاسب الملحوظة في الأداء أسرع بأكثر من 10 مرات لاستعلامات TPC-DS 24b و 72 و 95 و 96.
تحليل التكلفة
تُترجم تحسينات الأداء الخاصة بوقت تشغيل EMR لـ Apache Spark مباشرة إلى انخفاض التكاليف. تمكنا من تحقيق وفورات في التكاليف بنسبة 67٪ عند تشغيل التطبيق المعياري على Amazon EMR مقارنةً بالتكلفة المتكبدة لتشغيل نفس التطبيق على Spark مفتوح المصدر على Amazon EC2 بنفس حجم المجموعة نظرًا لتقليل ساعات استخدام Amazon EMR و Amazon استخدام EC2. تسعير Amazon EMR مخصص لتطبيقات EMR التي تعمل على مجموعات EMR مع مثيلات EC2. يُضاف سعر Amazon EMR إلى أسعار الحوسبة والتخزين الأساسية مثل سعر مثيل EC2 و متجر أمازون مطاط بلوك تكلفة (Amazon EBS) (في حالة إرفاق وحدات تخزين EBS). بشكل عام ، تبلغ التكلفة المعيارية المقدرة في منطقة شرق الولايات المتحدة (شمال فرجينيا) 27.01 دولارًا أمريكيًا لكل عملية تشغيل لبرنامج Spark مفتوح المصدر على Amazon EC2 و 8.82 دولارًا أمريكيًا لكل عملية تشغيل لـ Amazon EMR.
الوظيفة المعيارية | وقت التشغيل (ساعة) | التكلفة المتوقعة | إجمالي مثيل EC2 | إجمالي وحدة المعالجة المركزية الافتراضية | إجمالي الذاكرة (جيجا بايت) | جهاز الجذر (Amazon EBS) |
Spark مفتوح المصدر على Amazon EC2 (1 عقد أساسي و 6 عقد أساسية) |
2.23 | $27.01 | 7 | 252 | 504 | 20 جيجا بايت gp2 |
Amazon EMR على Amazon EC2 (1 عقد أساسي و 6 عقد أساسية) |
0.63 | $8.82 | 7 | 252 | 504 | 20 جيجا بايت gp2 |
تحليل التكاليف
فيما يلي توزيع التكلفة لوظيفة Spark مفتوحة المصدر على وظيفة Amazon EC2 (27.01 دولارًا):
- إجمالي تكلفة Amazon EC2 - (7 * 1.728 دولارًا * 2.23) = (عدد المثيلات * c5d.9x معدل كبير بالساعة * وقت تشغيل المهمة بالساعة) = 26.97 دولارات
- تكلفة Amazon EBS - ($ 0.1 / 730 * 20 * 7 * 2.23) = (Amazon EBS لكل جيجابايت بالساعة * حجم جذر EBS * عدد المثيلات * وقت تشغيل الوظيفة بالساعة) = 0.042 دولار
فيما يلي تفاصيل تكلفة Amazon EMR على وظيفة Amazon EC2 (8.82 دولارًا أمريكيًا):
- إجمالي تكلفة Amazon EMR - (7 * 0.27 دولار أمريكي * 0.63) = ((عدد العقد الأساسية + عدد العقد الأساسية) * c5d.9xlarge سعر Amazon EMR * وقت تشغيل المهمة بالساعة) = 1.19 دولار
- إجمالي تكلفة Amazon EC2 - (7 * 1.728 دولارًا أمريكيًا * 0.63) = ((عدد العقد الأساسية + عدد العقد الأساسية) * سعر مثيل c5d.9xlarge * وقت تشغيل المهمة بالساعة) = 7.62 دولارًا أمريكيًا
- تكلفة Amazon EBS - ($ 0.1 / 730 * 20 جيجا بايت * 7 * 0.63) = (Amazon EBS لكل جيجا بايت في الساعة * حجم EBS * عدد المثيلات * وقت تشغيل المهمة بالساعة) = 0.012 USD
قم بإعداد معيار OSS Spark
في الأقسام التالية ، نقدم مخططًا موجزًا للخطوات المتضمنة في إعداد المقارنة المعيارية. للحصول على تعليمات مفصلة مع أمثلة ، راجع جيثب ريبو.
بالنسبة لمعيار OSS Spark الخاص بنا ، فإننا نستخدم أداة مفتوحة المصدر فلينتروك لإطلاق نظامنا المستند إلى Amazon EC2 أباتشي سبارك تَجَمَّع. يوفر Flintrock طريقة سريعة لتشغيل مجموعة Apache Spark على Amazon EC2 باستخدام سطر الأوامر.
المتطلبات الأساسية المسبقة
أكمل الخطوات الأساسية التالية:
- لديك Python 3.7.x أو أعلى.
- تحتوي على Pip3 22.2.2 أو أعلى.
- أضف دليل Python bin إلى مسار بيئتك. سيتم تثبيت برنامج Flintrock الثنائي في هذا المسار.
- يجري
aws configure
لتكوين الخاص بك واجهة سطر الأوامر AWS (AWS CLI) للإشارة إلى حساب قياس الأداء. تشير إلى التكوين السريع مع تكوين AWS للحصول على تعليمات. - لديك زوج المفتاح مع أذونات ملف مقيدة للوصول إلى عقدة OSS Spark الأساسية.
- أنشئ حاوية S3 جديدة في حساب الاختبار الخاص بك إذا لزم الأمر.
- انسخ بيانات مصدر TPC-DS كإدخال إلى حاوية S3.
- أنشئ تطبيقًا معياريًا باتباع الخطوات الواردة في خطوات لبناء تطبيق تجميع شرارة. بدلاً من ذلك ، يمكنك تنزيل ملف شرارة-تجميع-معيارية-3.3.0.jar إذا كنت تريد تطبيقًا مبنيًا على Spark 3.3.0.
انشر مجموعة Spark وقم بتشغيل وظيفة القياس
أكمل الخطوات التالية:
- قم بتثبيت أداة Flintrock عبر نقطة كما هو موضح في خطوات إعداد OSS Spark Benchmarking.
- قم بتشغيل الأمر flintrock config ، والذي ينبثق عن ملف التكوين الافتراضي.
- قم بتعديل الافتراضي
config.yaml
ملف بناء على احتياجاتك. بدلاً من ذلك ، انسخ والصق ملف الملف config.yaml المحتوى إلى ملف التكوين الافتراضي. ثم احفظ الملف في مكانه. - أخيرًا ، قم بتشغيل مجموعة Spark المكونة من 7 عقدة على Amazon EC2 عبر Flintrock.
يجب أن يؤدي ذلك إلى إنشاء مجموعة Spark مع عقدة أساسية واحدة وستة عقد عاملة. إذا رأيت أي رسائل خطأ ، فتحقق جيدًا من قيم ملف التكوين ، خاصةً إصدارات Spark و Hadoop وسمات مصدر التنزيل و AMI.
لا تأتي مجموعة OSS Spark مع مدير موارد YARN. لتمكينه ، نحتاج إلى تكوين الكتلة.
- تحميل موقع الغزل .xml و تمكين-yarn.sh الملفات من GitHub repo.
- يحل محل بعنوان IP الخاص بالعقدة الأساسية في مجموعة Flintrock الخاصة بك.
يمكنك استرداد عنوان IP من وحدة تحكم Amazon EC2.
- قم بتحميل الملفات إلى جميع عقد مجموعة Spark.
- قم بتشغيل البرنامج النصي enable-yarn.
- قم بتمكين دعم Snappy في Hadoop (تقوم مهمة القياس بقراءة البيانات المضغوطة Snappy).
- قم بتنزيل ملف JAR لتطبيق أداة قياس الأداء شرارة-تجميع-معيارية-3.3.0.jar إلى جهازك المحلي.
- انسخ هذا الملف إلى الكتلة.
- قم بتسجيل الدخول إلى العقدة الأساسية وابدأ YARN.
- أرسل المهمة المعيارية على مجموعة Spark مفتوحة المصدر كما هو موضح في إرسال الوظيفة المعيارية.
لخص النتائج
قم بتنزيل ملف نتيجة الاختبار من حاوية الإخراج S3 s3://$YOUR_S3_BUCKET/EC2_TPCDS-TEST-3T-RESULT/timestamp=xxxx/summary.csv/xxx.csv
. (يحل محل $YOUR_S3_BUCKET
باستخدام اسم حاوية S3 الخاصة بك.) يمكنك استخدام وحدة تحكم Amazon S3 والانتقال إلى موقع الإخراج S3 أو استخدام AWS CLI.
يقوم تطبيق Spark المعياري بإنشاء مجلد طابع زمني وكتابة ملف ملخص داخل بادئة abstract.csv. سيكون الطابع الزمني واسم الملف مختلفين عن الاسم الموضح في المثال السابق.
تحتوي ملفات CSV الناتجة على أربعة أعمدة بدون أسماء رؤوس. هم انهم:
- اسم الاستعلام
- متوسط الوقت
- الحد الأدنى من الوقت
- أقصى وقت
تُظهر لقطة الشاشة التالية عينة من المخرجات. لقد أضفنا أسماء الأعمدة يدويًا. الطريقة التي نحسب بها geomean وإجمالي وقت تشغيل الوظيفة تعتمد على الوسائل الحسابية. نأخذ أولاً متوسط قيم med و min و max باستخدام الصيغة AVERAGE (B2: D2). ثم نأخذ متوسطًا هندسيًا لعمود Avg باستخدام الصيغة GEOMEAN (E2: E105).
قم بإعداد قياس Amazon EMR
للحصول على تعليمات مفصلة ، انظر خطوات إعداد EMR Benchmarking.
المتطلبات الأساسية المسبقة
أكمل الخطوات الأساسية التالية:
- يجري
aws configure
لتكوين غلاف AWS CLI الخاص بك للإشارة إلى حساب قياس الأداء. تشير إلى التكوين السريع مع تكوين AWS للحصول على تعليمات. - قم بتحميل تطبيق قياس الأداء إلى Amazon S3.
قم بنشر مجموعة EMR وقم بتشغيل مهمة القياس
أكمل الخطوات التالية:
- قم بتدوير Amazon EMR في غلاف AWS CLI الخاص بك باستخدام سطر الأوامر كما هو موضح في انشر مجموعة EMR وقم بتشغيل مهمة معيارية.
- قم بتكوين Amazon EMR بعقد أساسية واحدة (c5d.9xlarge) وستة مراكز أساسية (c5d.9xlarge). تشير إلى خلق الكتلة للحصول على وصف مفصل لخيارات AWS CLI.
- تخزين معرف الكتلة من الاستجابة. أنت بحاجة إلى هذا في الخطوة التالية.
- أرسل المهمة المعيارية في Amazon EMR باستخدام الخطوات الإضافية في AWS CLI.
لخص النتائج
تلخيص النتائج من حاوية الإخراج s3://$YOUR_S3_BUCKET/blog/EMRONEC2_TPCDS-TEST-3T-RESULT
بنفس الطريقة التي فعلناها مع نتائج OSS والمقارنة.
تنظيف
لتجنب تكبد رسوم في المستقبل ، احذف الموارد التي قمت بإنشائها باستخدام الإرشادات الموجودة في ملف قسم التنظيف في GitHub repo.
- أوقف مجموعات EMR و OSS Spark. يمكنك أيضًا حذفها إذا كنت لا تريد الاحتفاظ بالمحتوى. يمكنك حذف هذه الموارد عن طريق تشغيل البرنامج النصي تنظيف-benchmark-env.sh من محطة في بيئتك المعيارية.
- إذا كنت تستخدم سحابة AWS 9 مثل IDE الخاص بك لبناء ملف JAR للتطبيق المعياري باستخدام خطوات لبناء تطبيق تجميع شرارة، قد ترغب في حذف البيئة أيضًا.
وفي الختام
يمكنك تشغيل أحمال عمل Apache Spark 3.5 مرة (بناءً على إجمالي وقت التشغيل) بشكل أسرع وبتكلفة أقل دون إجراء أي تغييرات على تطبيقاتك باستخدام Amazon EMR 6.9.0.
لمواكبة آخر المستجدات ، اشترك في مدونة البيانات الضخمة آر إس إس لمعرفة المزيد حول وقت تشغيل EMR لـ Apache Spark وأفضل ممارسات التكوين ونصائح الضبط.
لمعرفة الاختبارات المعيارية السابقة ، انظر قم بتشغيل Apache Spark 3.0 لأحمال عمل أسرع 1.7 مرة مع Amazon EMR runtime لـ Apache Spark. لاحظ أن نتيجة القياس السابقة للأداء 1.7 مرة كانت تستند إلى المتوسط الهندسي. استنادًا إلى المتوسط الهندسي ، كان الأداء في Amazon EMR 6.9 أسرع مرتين.
عن المؤلفين
سيكار سرينيفاسان مهندس حلول متخصص في AWS يركز على البيانات الضخمة والتحليلات. يمتلك Sekar أكثر من 20 عامًا من الخبرة في العمل مع البيانات. إنه متحمس لمساعدة العملاء على بناء حلول قابلة للتطوير لتحديث بنيتهم وتكوين رؤى من بياناتهم. يحب في أوقات فراغه العمل في مشاريع غير هادفة للربح ، خاصة تلك التي تركز على تعليم الأطفال المحرومين.
برابو رافيشاندران هو مهندس بيانات أقدم مع Amazon Web Services ، ويركز على التحليلات وبنية بحيرة البيانات والتنفيذ. يساعد العملاء في تصميم وبناء حلول قابلة للتطوير وقوية باستخدام خدمات AWS. في أوقات فراغه ، يستمتع برابو بالسفر وقضاء الوقت مع العائلة.
- محتوى مدعوم من تحسين محركات البحث وتوزيع العلاقات العامة. تضخيم اليوم.
- بلاتوبلوكشين. Web3 Metaverse Intelligence. تضخيم المعرفة. الوصول هنا.
- المصدر https://aws.amazon.com/blogs/big-data/run-apache-spark-workloads-3-5-times-faster-with-amazon-emr-6-9/
- 1
- 10
- 100
- 1040
- 20 سنة
- 7
- 9
- a
- ماهرون
- من نحن
- فوق
- الوصول
- حسابي
- وأضاف
- العنوان
- نصيحة
- الكل
- توزيع
- أمازون
- Amazon EC2
- أمازون EMR
- أمازون ويب سيرفيسز
- تحليل
- تحليلات
- تحليل
- و
- أباتشي
- أباتشي سبارك
- API
- تطبيق
- التطبيقات
- هندسة معمارية
- سمات
- المتوسط
- AVG
- AWS
- محور
- على أساس
- اعتقد
- مؤشر
- أفضل
- أفضل الممارسات
- ما بين
- كبير
- البيانات الكبيرة
- حظر
- انهيار
- نساعدك في بناء
- ابني
- حقيبة
- تغيير
- التغييرات
- اسعارنا محددة من قبل وزارة العمل
- رسم
- كتلة
- عمود
- الأعمدة
- تأتي
- قارن
- مقارنة
- متوافق
- إحصاء
- الاعداد
- كنسولات
- محتوى
- جوهر
- التكلفة
- وفورات في التكاليف
- التكاليف
- خلق
- خلق
- يخلق
- العملاء
- البيانات
- بحيرة البيانات
- التاريخ
- الترتيب
- مستمد
- وصف
- مفصلة
- جهاز
- فعل
- مختلف
- مباشرة
- معاق
- لا
- لا
- بإمكانك تحميله
- كل
- الشرق
- EBS
- التعليم
- تمكين
- البيئة
- معادل
- خطأ
- خاصة
- مقدر
- الأثير (ETH)
- تقييم
- مثال
- أمثلة
- ممارسة
- الخبره في مجال الغطس
- للعائلات
- أسرع
- الميزات
- قم بتقديم
- ملفات
- أخيرا
- الاسم الأول
- ركز
- تركيزا
- متابعيك
- معادلة
- وجدت
- مجانا
- تبدأ من
- مستقبل
- الرأس مالية
- توليد
- GitHub جيثب:
- عظيم
- Hadoop
- مساعدة
- يساعد
- أفقي
- ساعات العمل
- لكن
- HTML
- HTTPS
- التنفيذ
- تحسين
- تحسينات
- in
- إدخال
- رؤى
- مثل
- تعليمات
- المشاركة
- IP
- عنوان IP
- IT
- وظيفة
- احتفظ
- بحيرة
- إطلاق
- تعلم
- خط
- محلي
- موقع
- آلة
- القيام ب
- مدير
- أسلوب
- يدويا
- ماكس
- يعني
- مكبر الصوت : يدعم، مع دعم ميكروفون مدمج لمنع الضوضاء
- رسائل
- الأكثر من ذلك
- الاسم
- أسماء
- التنقل
- حاجة
- بحاجة
- إحتياجات
- جديد
- التالي
- العقدة
- العقد
- غير هادفة للربح
- جدير بالذكر
- عدد
- ONE
- المصدر المفتوح
- الأمثل
- مزيد من الخيارات
- طلب
- لنا
- الخطوط العريضة
- الكلي
- عاطفي
- الماضي
- مسار
- أداء
- أذونات
- منصات التداول
- أفلاطون
- الذكاء افلاطون البيانات
- أفلاطون داتا
- البوينت
- الملوثات العضوية الثابتة
- منشور
- الممارسات
- السعر
- الأسعار
- التسعير
- ابتدائي
- خاص
- مشروع ناجح
- تزود
- المقدمة
- ويوفر
- بحت
- بايثون
- سريع
- معدل
- أدرك
- عقار مخفض
- منطقة
- الافراج عن
- يحل محل
- مورد
- الموارد
- استجابة
- تقييدي
- نتيجة
- النتائج
- قوي
- جذر
- يجري
- تشغيل
- نفسه
- حفظ
- مدخرات
- تحجيم
- حجم
- الثاني
- ثواني
- القسم
- أقسام
- كبير
- خدماتنا
- ضبط
- الإعداد
- قذيفة
- ينبغي
- أظهرت
- يظهر
- الاشارات
- SIX
- المقاس
- الحلول
- مصدر
- شرارة
- متخصص
- الإنفاق
- بداية
- خطوة
- خطوات
- تخزين
- الاشتراك
- هذه
- ملخص
- الدعم
- الدعم
- جدول
- أخذ
- محطة
- تجربه بالعربي
- اختبارات
- •
- من مشاركة
- عبر
- الوقت
- مرات
- الطابع الزمني
- إلى
- أداة
- أدوات
- الإجمالي
- ترجمه
- السفر
- التي تقوم عليها
- المحرومين
- us
- الأستعمال
- تستخدم
- سهل حياتك
- القيم
- الإصدار
- بواسطة
- فرجينيا
- مجلدات
- الويب
- خدمات ويب
- التي
- في حين
- سوف
- بدون
- للعمل
- عامل
- عامل
- X
- XML
- يامل
- سنوات
- حل متجر العقارات الشامل الخاص بك في جورجيا
- زفيرنت