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) map, reduceByKey, වැනි සමාන පරිවර්තන ක්රියා ඇත, නමුත් Window, mapWithStated, යනාදී සමහර සුවිශේෂී
(2) සියල්ලටම foreachRDD, count, වැනි ක්රියා ක්රියා ඇත.
ක්රමලේඛන ආකෘතිය අනුකූල වේ.
(B) Spark Streaming හි DStream හඳුන්වාදීම
DStream හි පන්ති කිහිපයක් අඩංගු වේ.
(1) InputDStream වැනි දත්ත මූලාශ්ර පන්ති, විශේෂිත DirectKafkaInputStream, ආදිය.
(2) පරිවර්තන පන්ති, සාමාන්යයෙන් MappedDStream, ShuffledDStream
(3) සාමාන්යයෙන් ForEachDStream වැනි ප්රතිදාන පන්ති
ඉහතින්, ආරම්භයේ (ආදානය) සිට අවසානය දක්වා (ප්රතිදානය) දත්ත සිදු කරනු ලබන්නේ DStream පද්ධතිය මගිනි, එයින් අදහස් කරන්නේ පරිශීලකයාට සාමාන්යයෙන් RDDs සෘජුවම ජනනය කිරීමට සහ හැසිරවීමට නොහැකි බවයි, එයින් අදහස් වන්නේ DStream හට එසේ වීමට අවස්ථාව සහ වගකීම ඇති බවයි. RDD වල ජීවන චක්රයට වගකිව යුතුය.
වෙනත් වචන වලින් කිවහොත්, Spark Streaming සතුව ඇතස්වයංක්රීය පිරිසිදු කිරීමකාර්යය.
(iii) Spark Streaming හි RDD උත්පාදනය කිරීමේ ක්රියාවලිය
Spark Streaming හි RDD වල ජීවන ප්රවාහය පහත පරිදි රළු වේ.
(1) InputDStream හි, ලැබුණු දත්ත RDD බවට පරිවර්තනය වේ, එනම් DirectKafkaInputStream, එය KafkaRDD ජනනය කරයි.
(2) පසුව MappedDStream සහ අනෙකුත් දත්ත පරිවර්තනය හරහා, මෙම කාලය සෘජුවම RDD ලෙස හැඳින්වේ, පරිවර්තනය සඳහා සිතියම් ක්රමයට අනුරූප වේ
(3) නිමැවුම් පන්තියේ මෙහෙයුමේදී, RDD නිරාවරණය වූ විට පමණක්, ඔබට පරිශීලකයාට අනුරූප ගබඩා කිරීම, අනෙකුත් ගණනය කිරීම් සහ වෙනත් මෙහෙයුම් සිදු කිරීමට ඉඩ දිය හැකිය.