Foro Formación Hadoop

Ejercicios Spark

 
Imagen de MIGUEL OROPEZA
Ejercicios Spark
de MIGUEL OROPEZA - miércoles, 28 de febrero de 2018, 12:55
 

Hola

Con respecto al ejercicio StreamContext :

import org.apache.spark.streaming.StreamingContext
import org.apache.spark.streaming.StreamingContext._
import org.apache.spark.streaming.Seconds

val ssc = new StreamingContext(sc, Seconds(5))
val mystream = ssc.socketTextStream("localhost",4444)

val words = mystream.flatMap(line => line.split("\\W"))
val wordCounts = words.map(x => (x, 1)).reduceByKey((x,y)=>(x+y))

wordCounts.print()

ssc.start()
ssc.awaitTermination()

 

Entiendo que estamos creando un Dstream  para leer textos en el puerto 4444 , supongo que los Dstream tiene además otras aplicaciones para ser utilizados ,  es correcto ?

 

En mi caso me da  este error  de conexión.

18/02/28 03:51:50 ERROR scheduler.ReceiverTracker: Deregistered receiver for stream 0: Restarting receiver with delay 2000ms: Error connecting to localhost:4444 - java.net.ConnectException: Connection refused

 

Saludos

Imagen de Admin Formación Hadoop
Re: Ejercicios Spark
de Admin Formación Hadoop - miércoles, 28 de febrero de 2018, 16:15
 

Hola Miguel,

Si, efectivamente. Tal y como se ve en la documentación es posible adquirir los datos desde diferentes orígenes (Flume, Kafka, RabitMQ, Twitter....).

 

Por otra parte, el erro es debido a que no tienes abierto el puerto 4444. Tal y como se indica en el pdf de los ejercicios, se debe abrir primero el puerto en otra terminal indicando:

nc -lkv 4444 

Una vez abierto, ejecuta nuevamente el código de Spark Streaming.

Un saludo,