آلية تنظيف البيانات Spark Streaming
(I) DStream وRDD
كما نعلم، تعتمد حوسبة Spark Streaming على Spark Core، ونواة Spark Core هي RDD، لذا يجب أن يكون Spark Streaming مرتبطًا بـ RDD أيضًا. مع ذلك، لا يسمح Spark Streaming للمستخدمين باستخدام RDD مباشرةً، بل يُلخص مجموعة من مفاهيم DStream. DStream وRDD هما علاقات شاملة، ويمكن فهمها كنمط تزيين في Java، أي أن DStream هو تحسين لـ RDD، لكن سلوكه مشابه لـ RDD.
يحتوي كل من DStream وRDD على عدة شروط.
(1) لها إجراءات تحويل مماثلة، مثل الخريطة، وreduceByKey، وما إلى ذلك، ولكن لها أيضًا بعض الإجراءات الفريدة، مثل Window، وmapWithStated، وما إلى ذلك.
(2) جميعها لها إجراءات عمل، مثل foreachRDD، count، وما إلى ذلك.
نموذج البرمجة متسق.
(ب) مقدمة لـ DStream في Spark Streaming
يحتوي DStream على عدة فئات.
(1) فئات مصدر البيانات، مثل InputDStream، وخاصةً DirectKafkaInputStream، وما إلى ذلك.
(2) فئات التحويل، عادةً MappedDStream وShuffledDStream
(3) فئات الإخراج، عادةً مثل ForEachDStream
من خلال ما سبق، يتم تنفيذ البيانات من البداية (الإدخال) إلى النهاية (الإخراج) بواسطة نظام DStream، مما يعني أن المستخدم لا يستطيع عادةً إنشاء RDDs ومعالجتها بشكل مباشر، مما يعني أن DStream لديه الفرصة والالتزام بتحمل المسؤولية عن دورة حياة RDDs.
بعبارة أخرى، Spark Streaming لديهالتنظيف التلقائيوظيفة.
(ثالثًا) عملية إنشاء RDD في Spark Streaming
إن تدفق حياة RDDs في Spark Streaming تقريبي على النحو التالي.
(1) في InputDStream، يتم تحويل البيانات المستلمة إلى RDD، مثل DirectKafkaInputStream، الذي يولد KafkaRDD.
(2) ثم من خلال MappedDStream وتحويل البيانات الأخرى، يتم استدعاء هذه المرة مباشرة RDD المقابلة لطريقة الخريطة للتحويل
(3) في عملية فئة الإخراج، فقط عندما يتم عرض RDD، يمكنك السماح للمستخدم بإجراء التخزين المقابل والحسابات الأخرى والعمليات الأخرى.