• بنر_اخبار

سرویس

مکانیسم تمیز کردن داده های Spark Streaming
(I) DStream و RDD
همانطور که می دانیم محاسبات Spark Streaming بر اساس Spark Core است و هسته Spark Core RDD است، بنابراین Spark Streaming باید با RDD نیز مرتبط باشد.با این حال، Spark Streaming به کاربران اجازه نمی‌دهد مستقیماً از RDD استفاده کنند، بلکه مجموعه‌ای از مفاهیم DStream را انتزاع می‌کند، DStream و RDD روابطی فراگیر هستند، می‌توانید آن را به عنوان الگوی دکوراسیون در جاوا درک کنید، یعنی DStream بهبود یافته‌ای از RDD است، اما رفتار مشابه RDD است.
DSstream و RDD هر دو شرایط مختلفی دارند.
(1) اقدامات تغییر شکل مشابهی مانند map، reduceByKey، و غیره، اما همچنین برخی منحصر به فرد، مانند Window، mapWithStated، و غیره دارند.
(2) همه دارای اکشن های Action مانند foreachRDD، count و غیره هستند.
مدل برنامه نویسی سازگار است.
(ب) معرفی DStream در Spark Streaming
DStream شامل چندین کلاس است.
(1) کلاس های منبع داده، مانند InputDStream، خاص به عنوان DirectKafkaInputStream و غیره.
(2) کلاس های تبدیل، معمولا MappedDStream، ShuffledDStream
(3) کلاس های خروجی، معمولاً مانند ForEachDStream
از موارد فوق، داده ها از ابتدا (ورودی) تا انتها (خروجی) توسط سیستم DStream انجام می شود، به این معنی که کاربر به طور معمول نمی تواند مستقیماً RDD ها را تولید و دستکاری کند، به این معنی که DStream این فرصت و تعهد را دارد. مسئول چرخه زندگی RDD ها است.
به عبارت دیگر، Spark Streaming دارای یکپاکسازی خودکارتابع.
(iii) فرآیند تولید RDD در جریان جرقه
جریان زندگی RDD ها در Spark Streaming به شرح زیر است.
(1) در InputDStream، داده های دریافتی به RDD تبدیل می شوند، مانند DirectKafkaInputStream، که KafkaRDD را تولید می کند.
(2) سپس از طریق MappedDStream و سایر تبدیل داده ها، این زمان به طور مستقیم RDD مربوط به روش نقشه برای تبدیل نامیده می شود.
(3) در عملیات کلاس خروجی، تنها زمانی که RDD در معرض دید قرار می گیرد، می توانید به کاربر اجازه دهید ذخیره سازی مربوطه، سایر محاسبات و سایر عملیات را انجام دهد.