شعار زيفيرنت

تدعم خدمة Amazon Managed Service لـ Apache Flink الآن الإصدار 1.18 من Apache Flink | خدمات الويب الأمازون

التاريخ:

اباتشي فلينك هو محرك معالجة موزع مفتوح المصدر، يقدم واجهات برمجة قوية لكل من معالجة الدفق والدفعات، مع دعم من الدرجة الأولى للمعالجة ذات الحالة ودلالات وقت الحدث. يدعم Apache Flink لغات برمجة متعددة، مثل Java وPython وScala وSQL وواجهات برمجة التطبيقات المتعددة ذات مستويات مختلفة من التجريد، والتي يمكن استخدامها بالتبادل في نفس التطبيق.

خدمة أمازون المُدارة لـ Apache Flink، الذي يوفر تجربة مُدارة بالكامل بدون خادم في تشغيل تطبيقات Apache Flink، أصبح يدعم الآن أباتشي فلينك 1.18.1، أحدث إصدار من Apache Flink في وقت كتابة هذا التقرير.

في هذا المنشور، نناقش بعض الميزات والإمكانيات الجديدة المثيرة للاهتمام لـ Apache Flink، والتي تم تقديمها مع أحدث الإصدارات الرئيسية، 1.16 و1.17 و1.18، والمدعومة الآن في Managed Service لـ Apache Flink.

موصلات جديدة

قبل أن نتعمق في وظائف Apache Flink الجديدة المتوفرة مع الإصدار 1.18.1، دعنا نستكشف الإمكانات الجديدة التي تأتي من توفر العديد من الموصلات الجديدة مفتوحة المصدر.

أوبن سيرش

مخصص أوبن سيرش يتوفر الآن الرابط ليتم تضمينه في مشاريعك، مما يتيح لتطبيق Apache Flink كتابة البيانات مباشرة في OpenSearch، دون الاعتماد على وضع توافق Elasticsearch. هذا الموصل متوافق مع خدمة Amazon OpenSearch المقدمة و خدمة البحث المفتوح بدون خادم.

يدعم هذا الموصل الجديد واجهات برمجة تطبيقات SQL والجدول، والعمل مع كل من Java وPython، و واجهة برمجة تطبيقات DataStream، لجافا فقط. خارج الصندوق، فإنه يوفر ضمانات مرة واحدة على الأقل، ومزامنة عمليات الكتابة مع نقطة تفتيش Flink. يمكنك تحقيق دلالات مرة واحدة بالضبط باستخدام المعرفات الحتمية وطريقة upsert.

بشكل افتراضي، يستخدم الموصل مكتبات عملاء الإصدار 1.x من OpenSearch. يمكنك التبديل إلى الإصدار 2.x بواسطة إضافة التبعيات الصحيحة.

الأمازون DynamoDB

يمكن لمطوري Apache Flink الآن استخدام موصل مخصص لكتابة البيانات فيه الأمازون DynamoDB. يعتمد هذا الموصل على أباتشي فلينك أسينكسينك، تم تطويره بواسطة AWS وأصبح الآن جزءًا لا يتجزأ من مشروع Apache Flink، لتبسيط تنفيذ موصلات الحوض الفعالة، باستخدام طلبات الكتابة غير المحظورة والدفعات التكيفية.

يدعم هذا الموصل أيضًا كليهما SQL والجدول واجهات برمجة التطبيقات وJava وPython و تدفق المعلومات API، لجافا فقط. بشكل افتراضي، يكتب الحوض على دفعات لتحسين الإنتاجية. الميزة البارزة في إصدار SQL هي دعم عبارة PARTITIONED BY. من خلال تحديد مفتاح واحد أو أكثر، يمكنك تحقيق بعض عمليات إلغاء البيانات المكررة من جانب العميل، فقط عن طريق إرسال أحدث سجل لكل مفتاح مع كل كتابة دفعة. يمكن تحقيق نفس الشيء باستخدام DataStream API عن طريق تحديد قائمة مفاتيح الأقسام للكتابة فوق كل دفعة.

هذا الموصل يعمل فقط كمغسلة. ولا يمكنك استخدامه للقراءة من DynamoDB. للبحث عن البيانات في DynamoDB، لا تزال بحاجة إلى تنفيذ بحث باستخدام ملف واجهة برمجة تطبيقات الإدخال/الإخراج Flink Async أو تنفيذ وظيفة مخصصة محددة من قبل المستخدم (UDF)، لـ SQL.

MongoDB

موصل آخر مثير للاهتمام هو MongoDB. في هذه الحالة، يتوفر كل من المصدر والمغسلة لكلاهما SQL والجدول واجهات برمجة التطبيقات و تدفق المعلومات واجهة برمجة التطبيقات. أصبح الرابط الجديد الآن رسميًا جزءًا من مشروع Apache Flink ويدعمه المجتمع. يحل هذا الموصل الجديد محل الموصل القديم الذي توفره MongoDB مباشرة، والذي يدعم فقط Flink Sink وواجهات برمجة التطبيقات المصدرية القديمة.

أما بالنسبة لموصلات مخزن البيانات الأخرى، فيمكن استخدام المصدر كمصدر محدود، في الوضع الدفعي، أو لعمليات البحث. يعمل الحوض في وضع الدفعة والبث، ويدعم كلاً من وضع الصعود والإلحاق.

من بين الميزات العديدة الملحوظة لهذا الرابط، إحدى الميزات الجديرة بالذكر هي القدرة على تمكين التخزين المؤقت عند استخدام المصدر لعمليات البحث. خارج الصندوق، يدعم الحوض ضمانات مرة واحدة على الأقل. عندما يتم تعريف المفتاح الأساسي، يمكن أن يدعم الحوض دلالات لمرة واحدة بالضبط عبر عمليات الإدراج غير الفعالة. يدعم موصل الحوض أيضًا دلالات لمرة واحدة تمامًا، مع إدخالات غير فعالة، عند تحديد المفتاح الأساسي.

إصدار موصل جديد

ليست ميزة جديدة، ولكنها عامل مهم يجب مراعاته عند تحديث تطبيق Apache Flink القديم، وهو إصدار الموصل الجديد. بدءًا من الإصدار 1.17 من Apache Flink، تم إخراج معظم الموصلات من توزيعة Apache Flink الرئيسية واتباع الإصدارات المستقلة.

لتضمين التبعية الصحيحة، تحتاج إلى تحديد إصدار القطعة الأثرية بالنموذج: <connector-version>-<flink-version>

على سبيل المثال، أحدث موصل كافكا، يعمل أيضًا مع Amazon Managed Streaming لأباتشي كافكا (Amazon MSK)، في وقت كتابة هذا التقرير، كان الإصدار 3.1.0. إذا كنت تستخدم Apache Flink 1.18، فستكون التبعية المستخدمة كما يلي:

<dependency> 
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-connector-kafka</artifactId> 
    <version>3.1.0-1.18</version>
</dependency>

في حالة أمازون كينسيس، إصدار الموصل الجديد هو 4.2.0. ستكون تبعية Apache Flink 1.18 كما يلي:

<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-connector-kinesis</artifactId> 
    <version>4.2.0-1.18</version>
</dependency>

في الأقسام التالية، نناقش المزيد من الميزات الجديدة القوية المتوفرة الآن في Apache Flink 1.18 والمدعومة في Amazon Managed Service لـ Apache Flink.

SQL

في Apache Flink SQL، يمكن للمستخدمين توفير تلميحات لضم الاستعلامات التي يمكن استخدامها لاقتراح المُحسِّن ليكون له تأثير في خطة الاستعلام. وخاصة في تطبيقات البث ينضم البحث تُستخدم لإثراء جدول، يمثل البيانات المتدفقة، بالبيانات التي يتم الاستعلام عنها من نظام خارجي، عادةً قاعدة بيانات. منذ الإصدار 1.16، تم تقديم العديد من التحسينات لصلات البحث، مما يسمح لك بضبط سلوك الصلة وتحسين الأداء:

  • ذاكرة التخزين المؤقت للبحث هي ميزة قوية، تسمح لك بتخزين السجلات الأكثر استخدامًا في الذاكرة مؤقتًا، مما يقلل الضغط على قاعدة البيانات. في السابق، كانت ذاكرة التخزين المؤقت للبحث مخصصة لبعض الموصلات. منذ Apache Flink 1.16، أصبح هذا الخيار متاحًا لجميع الموصلات التي تدعم البحث داخليًا (فليب-221). حتى كتابة هذه السطور، JDBC., خلية النحلو HBase تدعم الموصلات ذاكرة التخزين المؤقت للبحث. تحتوي ذاكرة التخزين المؤقت للبحث على ثلاثة أوضاع متاحة: FULL، لمجموعة بيانات صغيرة يمكن الاحتفاظ بها بالكامل في الذاكرة، PARTIAL، لمجموعة بيانات كبيرة، أو تخزين أحدث السجلات مؤقتًا فقط، أو NONE، لتعطيل ذاكرة التخزين المؤقت بشكل كامل. ل PARTIAL ذاكرة التخزين المؤقت، يمكنك أيضًا تكوين عدد الصفوف المخزنة مؤقتًا ومدة البقاء.
  • بحث غير متزامن هي ميزة أخرى يمكنها تحسين الأداء بشكل كبير. يوفر البحث غير المتزامن في Apache Flink SQL وظيفة مشابهة لـ الإدخال/الإخراج غير المتزامن متاح في DataStream API. فهو يسمح لـ Apache Flink بإرسال طلبات جديدة إلى قاعدة البيانات دون حظر سلسلة المعالجة حتى يتم تلقي الردود على عمليات البحث السابقة. على غرار الإدخال/الإخراج غير المتزامن، يمكنك تكوين البحث غير المتزامن لفرض الترتيب أو السماح بنتائج غير مرتبة، أو ضبط سعة المخزن المؤقت والمهلة.
  • يمكنك أيضًا تكوين أ استراتيجية إعادة محاولة البحث بالاشتراك مع PARTIAL or NONE ذاكرة التخزين المؤقت للبحث، لتكوين السلوك في حالة فشل البحث في قاعدة البيانات الخارجية.

يمكن التحكم في كل هذه السلوكيات باستخدام LOOKUP تلميح، كما في المثال التالي، حيث نعرض صلة البحث باستخدام البحث غير المتزامن:

SELECT 
    /*+ LOOKUP('table'='Customers', 'async'='true', 'output-mode'='allow_unordered') */ 
    O.order_id, O.total, C.address
FROM Orders AS O 
JOIN Customers FOR SYSTEM_TIME AS OF O.proc_time AS C 
  ON O.customer_id = O.customer_id

بايفلينك

في هذا القسم، نناقش التحسينات والدعم الجديد في PyFlink.

دعم Python 3.10

قدمت أحدث إصدارات Apache Flink العديد من التحسينات لمستخدمي PyFlink. أولاً وقبل كل شيء، أصبح Python 3.10 مدعومًا الآن، وتمت إزالة دعم Python 3.6 بالكامل (فلينك-29421). تستخدم الخدمة المُدارة لـ Apache Flink حاليًا وقت تشغيل Python 3.10 لتشغيل تطبيقات PyFlink.

الاقتراب من تكافؤ الميزات

من منظور واجهة برمجة التطبيقات (API) للبرمجة، تقترب PyFlink من Java في كل إصدار. تدعم واجهة برمجة تطبيقات DataStream الآن ميزات مثل المخرجات الجانبية وحالة البث، كما تم إغلاق الفجوات الموجودة في واجهة برمجة تطبيقات النوافذ. يدعم PyFlink الآن أيضًا الموصلات الجديدة مثل الأمازون كينسيس دفق البيانات مباشرة من DataStream API.

تحسينات وضع الموضوع

PyFlink فعال للغاية. إن الحمل الزائد لتشغيل مشغلي Flink API في PyFlink هو الحد الأدنى مقارنة بـ Java أو Scala، لأن وقت التشغيل يقوم فعليًا بتشغيل تنفيذ المشغل في JVM مباشرة، بغض النظر عن لغة التطبيق الخاص بك. ولكن عندما يكون لديك وظيفة محددة من قبل المستخدم، فإن الأمور تختلف قليلا. سطر من كود بايثون بسيط مثل lambda x: x + 1، أو معقدة مثل دالة Pandas، يجب أن تعمل في وقت تشغيل Python.

افتراضيًا، يقوم Apache Flink بتشغيل وقت تشغيل Python على كل مدير مهام، خارج JVM. يتم إجراء تسلسل لكل سجل، ويتم تسليمه إلى وقت تشغيل Python عبر الاتصال بين العمليات، وإلغاء تسلسله، ومعالجته في وقت تشغيل Python. يتم بعد ذلك إجراء تسلسل للنتيجة وإعادتها إلى JVM، حيث يتم إلغاء تسلسلها. هذا هو بايفلينك وضع العملية. إنها مستقرة جدًا ولكنها تسبب عبئًا إضافيًا، وفي بعض الحالات، قد تصبح عنق الزجاجة في الأداء.

منذ الإصدار 1.15، أصبح Apache Flink يدعم أيضًا وضع الموضوع لباي فلينك. في هذا الوضع، يتم تشغيل وظائف Python المحددة من قبل المستخدم داخل JVM نفسه، مما يؤدي إلى إزالة التسلسل/إلغاء التسلسل وحمل الاتصالات بين العمليات. وضع THREAD لديه بعض القيود; على سبيل المثال، لا يمكن استخدام وضع THREAD لـ Pandas أو UDAFs (وظائف مجمعة محددة من قبل المستخدم، تتكون من العديد من سجلات الإدخال وسجل إخراج واحد)، ولكن يمكنه تحسين أداء تطبيق PyFlink بشكل كبير.

مع الإصدار 1.16، تم توسيع دعم وضع THREAD بشكل كبير، ليغطي أيضًا واجهة برمجة تطبيقات Python DataStream.

يتم دعم وضع THREAD بواسطة الخدمة المُدارة لـ Apache Flink، ويمكن أن يكون كذلك تم تمكينه مباشرة من تطبيق PyFlink الخاص بك.

دعم أبل السيليكون

إذا كنت تستخدم الأجهزة المستندة إلى Apple Silicon لتطوير تطبيقات PyFlink، أو التطوير لـ PyFlink 1.15، فمن المحتمل أنك واجهت بعض مشكلات تبعية Python المعروفة على Apple Silicon. تم حل هذه المشكلات أخيرًا (فلينك-25188). لم تؤثر هذه القيود على تطبيقات PyFlink التي تعمل على Managed Service لـ Apache Flink. قبل الإصدار 1.16، إذا كنت تريد تطوير تطبيق PyFlink على جهاز يستخدم شرائح M1 أو M2 أو M3، كان عليك استخدام بعض الحلوللأنه كان من المستحيل تثبيت PyFlink 1.15 أو إصدار سابق مباشرة على الجهاز.

تحسينات نقطة التفتيش غير المحاذية

يدعم Apache Flink 1.15 بالفعل نقاط التفتيش الإضافية وتفريغ المخزن المؤقت. يمكن استخدام هذه الميزات، خاصة مجتمعة، لتحسين أداء نقاط التفتيش، مما يجعل مدة نقاط التفتيش أكثر قابلية للتنبؤ بها، خاصة في حالة وجود ضغط خلفي. لمزيد من المعلومات حول هذه الميزات، راجع تحسين نقاط التفتيش في Amazon Managed Service لتطبيقات Apache Flink مع تفريغ المخزن المؤقت ونقاط التفتيش غير المحاذية.

مع الإصدارين 1.16 و1.17، تم إدخال العديد من التغييرات لتحسين الاستقرار والأداء.

التعامل مع انحراف البيانات

يستخدم أباتشي فلينك علامات مائية لدعم دلالات وقت الحدث. العلامات المائية هي سجلات خاصة، يتم إدخالها عادةً في التدفق من المشغل المصدر، والتي تحدد تقدم وقت الحدث للمشغلين مثل مجموعات نافذة وقت الحدث. أحد الأساليب الشائعة هو تأخير العلامات المائية من آخر وقت للحدث الذي تمت ملاحظته، للسماح للأحداث بأن تكون خارج الترتيب، على الأقل إلى حد ما.

ومع ذلك، فإن استخدام العلامات المائية يأتي مع التحدي. عندما يكون لدى التطبيق مصادر متعددة، على سبيل المثال يتلقى الأحداث من أقسام متعددة لموضوع كافكا، يتم إنشاء العلامات المائية بشكل مستقل لكل قسم. داخليًا، ينتظر كل مشغل دائمًا نفس العلامة المائية على جميع أقسام الإدخال، مما يؤدي عمليًا إلى محاذاتها على القسم الأبطأ. العيب هو أنه إذا كان أحد الأقسام لا يتلقى البيانات، فلن تتقدم العلامات المائية، مما يزيد من زمن الوصول من طرف إلى طرف. لهذا السبب، أ مهلة الخمول الاختيارية تم تقديمه في العديد من مصادر التدفق. بعد انتهاء المهلة التي تم تكوينها، يتجاهل إنشاء العلامة المائية أي قسم لا يتلقى أي سجل، ويمكن أن تتقدم العلامات المائية.

يمكنك أيضًا مواجهة تحدي مماثل ولكنه معاكس إذا كان أحد المصادر يتلقى الأحداث بشكل أسرع بكثير من الآخرين. تتم محاذاة العلامات المائية إلى القسم الأبطأ، مما يعني أن أي تجميع للنوافذ سينتظر العلامة المائية. يجب أن تنتظر السجلات من المصدر السريع، ليتم تخزينها مؤقتًا. قد يؤدي هذا إلى تخزين حجم زائد من البيانات مؤقتًا، ونمو لا يمكن السيطرة عليه لحالة المشغل.

لمعالجة مشكلة المصادر الأسرع، بدءًا من Apache Flink 1.17، يمكنك تمكين محاذاة العلامة المائية لتقسيمات المصدر (فلينك-28853). تعمل هذه الآلية، التي يتم تعطيلها افتراضيًا، على التأكد من عدم قيام أي قسم بتقدم علاماته المائية بسرعة كبيرة، مقارنة بالأقسام الأخرى. يمكنك ربط مصادر متعددة معًا، مثل موضوعات الإدخال المتعددة، وتعيين نفس معرف مجموعة المحاذاة، وتكوين مدة الانجراف الأقصى من العلامة المائية الحالية. إذا كان هناك قسم محدد يتلقى الأحداث بسرعة كبيرة، فسيتوقف مشغل المصدر مؤقتًا عن استهلاك هذا القسم حتى يتم تقليل الانجراف إلى ما دون الحد الذي تم تكوينه.

يمكنك تمكينه لكل مصدر على حدة. كل ما تحتاجه هو تحديد معرف مجموعة المحاذاة، والذي سيربط جميع المصادر التي لها نفس المعرف، ومدة الانحراف الأقصى من الحد الأدنى للعلامة المائية الحالية. سيؤدي هذا إلى إيقاف الاستهلاك مؤقتًا من المهمة الفرعية المصدر التي تتقدم بسرعة كبيرة، حتى يصبح الانجراف أقل من الحد المحدد.

يوضح مقتطف التعليمات البرمجية التالي كيف يمكنك إعداد محاذاة العلامة المائية لتقسيمات المصدر على مصدر كافكا الذي ينبعث منه علامات مائية محددة خارج الترتيب:

KafkaSource<Event> kafkaSource = ...
DataStream<Event> stream = env.fromSource(
    kafkaSource,
    WatermarkStrategy.<Event>forBoundedOutOfOrderness( Duration.ofSeconds(20))
        .withWatermarkAlignment("alignment-group-1", Duration.ofSeconds(20), Duration.ofSeconds(1)),
    "Kafka source"));

هذه الميزة متاحة فقط مع فليب-217 مصادر متوافقة، ودعم محاذاة العلامة المائية لتقسيمات المصدر. حتى وقت كتابة هذا التقرير، من بين موصلات مصادر البث الرئيسية، يدعم مصدر كافكا فقط هذه الميزة.

الدعم المباشر لتنسيق Protobuf

تدعم الآن واجهات برمجة تطبيقات SQL وTable بشكل مباشر صيغة البروتوبوف. لاستخدام هذا التنسيق، تحتاج إلى إنشاء فئات Protobuf Java من ملف .proto ملفات تعريف المخطط وإدراجها كتبعيات في التطبيق الخاص بك.

يعمل تنسيق Protobuf فقط مع SQL وTable APIs فقط لقراءة أو كتابة بيانات Protobuf المتسلسلة من مصدر أو إلى مخزن. حاليًا، لا يدعم Flink Protobuf مباشرةً لإجراء تسلسل للحالة مباشرةً ولا يدعم تطور المخطط، كما هو الحال بالنسبة لـ أفرو، على سبيل المثال. لا تزال بحاجة إلى تسجيل أ مسلسل مخصص مع بعض النفقات العامة لتطبيقك.

إبقاء Apache Flink مفتوح المصدر

يعتمد Apache Flink داخليًا على Akka لإرسال البيانات بين المهام الفرعية. في عام 2022، أعلنت Lightbend، الشركة التي تقف وراء Akka، عن تغيير الترخيص بالنسبة لإصدارات Akka المستقبلية، من Apache 2.0 إلى ترخيص أكثر تقييدًا، وأن Akka 2.6، الإصدار الذي يستخدمه Apache Flink، لن يتلقى أي تحديث أو إصلاح أمني إضافي.

على الرغم من أن Akka كانت تاريخيًا مستقرة جدًا ولا تتطلب تحديثات متكررة، إلا أن تغيير الترخيص هذا يمثل خطرًا على مشروع Apache Flink. كان قرار مجتمع Apache Flink هو استبدال Akka بشوكة من الإصدار 2.6 تسمى أباتشي بيكو (فلينك-32468). ستحتفظ هذه الشوكة بترخيص Apache 2.0 وستتلقى أي تحديثات مطلوبة من قبل المجتمع. في هذه الأثناء، سينظر مجتمع Apache Flink في إزالة الاعتماد على Akka أو Pekko بالكامل.

ضغط الدولة

يوفر Apache Flink ضغطًا اختياريًا (الافتراضي: متوقف) لجميع نقاط التفتيش ونقاط الحفظ. حدد Apache Flink خطأً في Flink 1.18.1 حيث لا يمكن استعادة حالة المشغل بشكل صحيح عند تمكين ضغط اللقطة. قد يؤدي هذا إلى فقدان البيانات أو عدم القدرة على استعادتها من نقطة التفتيش. لحل هذه المشكلة، قامت الخدمة المُدارة لـ Apache Flink بنقل ملف حل والتي سيتم تضمينها في الإصدارات المستقبلية من Apache Flink.

ترقيات الإصدار الموضعي باستخدام الخدمة المُدارة لـ Apache Flink

إذا كنت تقوم حاليًا بتشغيل تطبيق على Managed Service for Apache Flink باستخدام Apache Flink 1.15 أو أقدم، فيمكنك الآن ترقيته موضعيًا إلى 1.18 دون فقدان الحالة، باستخدام واجهة سطر الأوامر AWS (AWS CLI) ، تكوين سحابة AWS or مجموعة تطوير سحابة AWS (AWS CDK)، أو أي أداة تستخدم AWS API.

UpdateApplication يدعم إجراء واجهة برمجة التطبيقات (API) الآن تحديث إصدار وقت تشغيل Apache Flink لخدمة مُدارة موجودة لتطبيق Apache Flink. يمكنك استخدام UpdateApplication مباشرة على تطبيق قيد التشغيل.

قبل متابعة التحديث الموضعي، تحتاج إلى التحقق من التبعيات المضمنة في تطبيقك وتحديثها، والتأكد من توافقها مع إصدار Apache Flink الجديد. على وجه الخصوص، تحتاج إلى تحديث أي مكتبة وموصلات Apache Flink وربما إصدار Scala.

نوصي أيضًا باختبار التطبيق المحدث قبل متابعة التحديث. نوصي بالاختبار محليًا وفي بيئة غير إنتاجية، باستخدام إصدار وقت تشغيل Apache Flink المستهدف، لضمان عدم تقديم أي تراجعات.

وأخيرًا، إذا كان طلبك معتمدًا على الحالة، فإننا نوصي بأخذ ملف لقطة حالة التطبيق قيد التشغيل. سيمكنك هذا من العودة إلى إصدار التطبيق السابق.

عندما تكون جاهزًا، يمكنك الآن استخدام UpdateApplication إجراء API أو تحديث التطبيق أمر AWS CLI لتحديث إصدار وقت التشغيل للتطبيق وتوجيهه إلى عنصر التطبيق الجديد، أو JAR، أو الملف المضغوط، مع التبعيات المحدثة.

للحصول على معلومات أكثر تفصيلاً حول العملية وواجهة برمجة التطبيقات (API)، راجع ترقية الإصدار الموضعي لـ Apache Flink. تتضمن الوثائق تعليمات خطوة بخطوة ومقطع فيديو لإرشادك خلال عملية الترقية.

استنتاجات

في هذا المنشور، قمنا بفحص بعض الميزات الجديدة لـ Apache Flink، المدعومة في Amazon Managed Service لـ Apache Flink. هذه القائمة ليست شاملة. قدم Apache Flink أيضًا بعض الميزات الواعدة جدًا، مثل TTL على مستوى المشغل لـ SQL وTable API [فليب-292] والسفر عبر الزمن [فليب-308]، ولكن هذه ليست مدعومة حتى الآن بواسطة واجهة برمجة التطبيقات (API)، ولا يمكن للمستخدمين الوصول إليها بعد. ولهذا السبب قررنا عدم تغطيتها في هذا المنشور.

بدعم من Apache Flink 1.18، تدعم الخدمة المُدارة لـ Apache Flink الآن أحدث إصدار من Apache Flink. لقد رأينا بعض الميزات الجديدة المثيرة للاهتمام والموصلات الجديدة المتوفرة مع Apache Flink 1.18 وكيف تساعدك الخدمة المُدارة لـ Apache Flink على ترقية تطبيق موجود في مكانه.

يمكنك العثور على مزيد من التفاصيل حول الإصدارات الأخيرة من مدونة Apache Flink وملاحظات الإصدار:

إذا كنت مستخدمًا جديدًا لـ Apache Flink، فإننا نوصي باستخدام دليل لاختيار واجهة برمجة التطبيقات واللغة المناسبة واتباع دليل البداية لبدء استخدام الخدمة المُدارة لـ Apache Flink.


حول المؤلف

لورينزو نيكورالورينزو نيكورا يعمل كمهندس أول لحلول البث في AWS، حيث يساعد العملاء عبر أوروبا والشرق الأوسط وأفريقيا. لقد قام ببناء أنظمة سحابية محلية كثيفة البيانات لأكثر من 25 عامًا، وعمل في الصناعة المالية من خلال الاستشارات وشركات منتجات FinTech. لقد استفاد من التقنيات مفتوحة المصدر على نطاق واسع وساهم في العديد من المشاريع، بما في ذلك Apache Flink.

فرانسيسكو موريلوفرانسيسكو موريلو هو مهندس حلول البث في AWS. يعمل فرانسيسكو مع عملاء AWS، ويساعدهم في تصميم بنيات التحليلات في الوقت الفعلي باستخدام خدمات AWS، ودعم Amazon MSK وAmazon Managed Service لـ Apache Flink.

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة