You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@spark.apache.org by Sadaf <sa...@platalytics.com> on 2015/10/16 08:38:48 UTC
Streaming of COAP Resources
I am currently working on IOT Coap protocol.I accessed server on local host
through copper firefox plugin. Then i Added resouce having "GET"
functionality in server. After that i made its client as a streaming source.
Here is the code of client streaming
class customReceiver(test:String) extends
Receiver[String](StorageLevel.MEMORY_AND_DISK_2) with Logging with
Serializable {
@volatile private var stopped = false
override def onStart() {
val client = new CoapClient("ip/resource")
var text = client.get().getResponseText();
store(text)
}
override def onStop(): Unit = synchronized {
try
{
stopped = true
}
catch
{
case e: Exception => println("exception caught: " + e);
}
}
}
but i am facing a problem. During streaming it just read a resource once.
after that it fetches all empty rdd and completes its batches. Meanwhile if
resource changes its value it doesn't read that. are i doing something
wrong? or is there exists any other functionality to read whenever resource
get changed that i can handle in my Custom receiver.? or any idea about how
to GET value continuously during streaming?
Any help is much awaited and appreciated. Thanks
--
View this message in context: http://apache-spark-user-list.1001560.n3.nabble.com/Streaming-of-COAP-Resources-tp25084.html
Sent from the Apache Spark User List mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@spark.apache.org
For additional commands, e-mail: user-help@spark.apache.org
Re: Streaming of COAP Resources
Posted by Adrian Tanase <at...@adobe.com>.
I’m not familiar with you COAP library but onStart is called only once. You’re only reading the value once when the custom receiver is initialized.
You need to set-up a callback, poll a buffer — again, depends on your COAP client — In short configure your client to “start listening for changes”
Then you need to call .store() for every new value that you’re notified of.
-adrian
On 10/16/15, 9:38 AM, "Sadaf" <sa...@platalytics.com> wrote:
>I am currently working on IOT Coap protocol.I accessed server on local host
>through copper firefox plugin. Then i Added resouce having "GET"
>functionality in server. After that i made its client as a streaming source.
>Here is the code of client streaming
>
> class customReceiver(test:String) extends
>Receiver[String](StorageLevel.MEMORY_AND_DISK_2) with Logging with
>Serializable {
> @volatile private var stopped = false
> override def onStart() {
>
> val client = new CoapClient("ip/resource")
> var text = client.get().getResponseText();
> store(text)
> }
> override def onStop(): Unit = synchronized {
> try
> {
> stopped = true
> }
> catch
> {
> case e: Exception => println("exception caught: " + e);
> }
> }
> }
>but i am facing a problem. During streaming it just read a resource once.
>after that it fetches all empty rdd and completes its batches. Meanwhile if
>resource changes its value it doesn't read that. are i doing something
>wrong? or is there exists any other functionality to read whenever resource
>get changed that i can handle in my Custom receiver.? or any idea about how
>to GET value continuously during streaming?
>
>Any help is much awaited and appreciated. Thanks
>
>
>
>--
>View this message in context: http://apache-spark-user-list.1001560.n3.nabble.com/Streaming-of-COAP-Resources-tp25084.html
>Sent from the Apache Spark User List mailing list archive at Nabble.com.
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: user-unsubscribe@spark.apache.org
>For additional commands, e-mail: user-help@spark.apache.org
>