ਸਪਾਰਕ ਸਟ੍ਰੀਮਿੰਗ ਡੇਟਾ ਸਫਾਈ ਵਿਧੀ
(I) DStream ਅਤੇ RDD
ਜਿਵੇਂ ਕਿ ਅਸੀਂ ਜਾਣਦੇ ਹਾਂ, ਸਪਾਰਕ ਸਟ੍ਰੀਮਿੰਗ ਗਣਨਾ ਸਪਾਰਕ ਕੋਰ 'ਤੇ ਅਧਾਰਤ ਹੈ, ਅਤੇ ਸਪਾਰਕ ਕੋਰ ਦਾ ਕੋਰ ਆਰਡੀਡੀ ਹੈ, ਇਸਲਈ ਸਪਾਰਕ ਸਟ੍ਰੀਮਿੰਗ ਵੀ ਆਰਡੀਡੀ ਨਾਲ ਸਬੰਧਤ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ।ਹਾਲਾਂਕਿ, ਸਪਾਰਕ ਸਟ੍ਰੀਮਿੰਗ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਸਿੱਧੇ ਤੌਰ 'ਤੇ RDD ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕਰਨ ਦਿੰਦੀ, ਪਰ DStream ਸੰਕਲਪਾਂ ਦੇ ਇੱਕ ਸਮੂਹ ਨੂੰ ਐਬਸਟਰੈਕਟ ਕਰਦਾ ਹੈ, DStream ਅਤੇ RDD ਸੰਮਿਲਿਤ ਰਿਸ਼ਤੇ ਹਨ, ਤੁਸੀਂ ਇਸਨੂੰ Java ਵਿੱਚ ਸਜਾਵਟ ਪੈਟਰਨ ਵਜੋਂ ਸਮਝ ਸਕਦੇ ਹੋ, ਯਾਨੀ DStream RDD ਦਾ ਇੱਕ ਸੁਧਾਰ ਹੈ, ਪਰ ਵਿਵਹਾਰ RDD ਵਰਗਾ ਹੈ।
DStream ਅਤੇ RDD ਦੋਵਾਂ ਦੀਆਂ ਕਈ ਸ਼ਰਤਾਂ ਹਨ।
(1) ਵਿੱਚ ਸਮਾਨ ਰੂਪਾਂਤਰਣ ਕਿਰਿਆਵਾਂ ਹਨ, ਜਿਵੇਂ ਕਿ ਨਕਸ਼ਾ, reduceByKey, ਆਦਿ, ਪਰ ਕੁਝ ਵਿਲੱਖਣ ਵੀ ਹਨ, ਜਿਵੇਂ ਕਿ ਵਿੰਡੋ, ਮੈਪਵਿਥਸਟੇਟ, ਆਦਿ।
(2) ਸਾਰਿਆਂ ਕੋਲ ਐਕਸ਼ਨ ਐਕਸ਼ਨ ਹਨ, ਜਿਵੇਂ ਕਿ foreachRDD, ਗਿਣਤੀ, ਆਦਿ।
ਪ੍ਰੋਗਰਾਮਿੰਗ ਮਾਡਲ ਇਕਸਾਰ ਹੈ।
(ਬੀ) ਸਪਾਰਕ ਸਟ੍ਰੀਮਿੰਗ ਵਿੱਚ ਡੀਸਟ੍ਰੀਮ ਦੀ ਜਾਣ-ਪਛਾਣ
DStream ਵਿੱਚ ਕਈ ਕਲਾਸਾਂ ਹਨ।
(1) ਡਾਟਾ ਸਰੋਤ ਕਲਾਸਾਂ, ਜਿਵੇਂ ਕਿ InputDStream, ਖਾਸ ਜਿਵੇਂ DirectKafkaInputStream, ਆਦਿ।
(2) ਪਰਿਵਰਤਨ ਕਲਾਸਾਂ, ਆਮ ਤੌਰ 'ਤੇ MappedDStream, ShuffledDStream
(3) ਆਉਟਪੁੱਟ ਕਲਾਸਾਂ, ਖਾਸ ਤੌਰ 'ਤੇ ਜਿਵੇਂ ਕਿ ForEachDStream
ਉਪਰੋਕਤ ਤੋਂ, ਸ਼ੁਰੂਆਤ (ਇਨਪੁਟ) ਤੋਂ ਅੰਤ ਤੱਕ (ਆਉਟਪੁੱਟ) ਤੱਕ ਦਾ ਡੇਟਾ DStream ਸਿਸਟਮ ਦੁਆਰਾ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਜਿਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਉਪਭੋਗਤਾ ਆਮ ਤੌਰ 'ਤੇ RDDs ਨੂੰ ਸਿੱਧੇ ਤੌਰ 'ਤੇ ਤਿਆਰ ਅਤੇ ਹੇਰਾਫੇਰੀ ਨਹੀਂ ਕਰ ਸਕਦਾ, ਜਿਸਦਾ ਮਤਲਬ ਹੈ ਕਿ DStream ਕੋਲ ਮੌਕਾ ਅਤੇ ਜ਼ਿੰਮੇਵਾਰੀ ਹੈ। RDDs ਦੇ ਜੀਵਨ ਚੱਕਰ ਲਈ ਜ਼ਿੰਮੇਵਾਰ।
ਦੂਜੇ ਸ਼ਬਦਾਂ ਵਿੱਚ, ਸਪਾਰਕ ਸਟ੍ਰੀਮਿੰਗ ਵਿੱਚ ਇੱਕ ਹੈਆਟੋਮੈਟਿਕ ਸਫਾਈਫੰਕਸ਼ਨ।
(iii) ਸਪਾਰਕ ਸਟ੍ਰੀਮਿੰਗ ਵਿੱਚ RDD ਬਣਾਉਣ ਦੀ ਪ੍ਰਕਿਰਿਆ
ਸਪਾਰਕ ਸਟ੍ਰੀਮਿੰਗ ਵਿੱਚ RDDs ਦਾ ਜੀਵਨ ਪ੍ਰਵਾਹ ਹੇਠਾਂ ਦਿੱਤੇ ਅਨੁਸਾਰ ਮੋਟਾ ਹੈ।
(1) InputDStream ਵਿੱਚ, ਪ੍ਰਾਪਤ ਡੇਟਾ ਨੂੰ RDD ਵਿੱਚ ਬਦਲ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ DirectKafkaInputStream, ਜੋ KafkaRDD ਤਿਆਰ ਕਰਦਾ ਹੈ।
(2) ਫਿਰ MappedDStream ਅਤੇ ਹੋਰ ਡੇਟਾ ਪਰਿਵਰਤਨ ਦੁਆਰਾ, ਇਸ ਸਮੇਂ ਨੂੰ ਸਿੱਧੇ ਰੂਪਾਂਤਰਨ ਲਈ ਨਕਸ਼ੇ ਦੇ ਢੰਗ ਨਾਲ ਸੰਬੰਧਿਤ RDD ਕਿਹਾ ਜਾਂਦਾ ਹੈ
(3) ਆਉਟਪੁੱਟ ਕਲਾਸ ਓਪਰੇਸ਼ਨ ਵਿੱਚ, ਸਿਰਫ ਉਦੋਂ ਜਦੋਂ RDD ਦਾ ਪਰਦਾਫਾਸ਼ ਹੁੰਦਾ ਹੈ, ਤੁਸੀਂ ਉਪਭੋਗਤਾ ਨੂੰ ਅਨੁਸਾਰੀ ਸਟੋਰੇਜ, ਹੋਰ ਗਣਨਾਵਾਂ ਅਤੇ ਹੋਰ ਕਾਰਵਾਈਆਂ ਕਰਨ ਦੇ ਸਕਦੇ ਹੋ।