All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.dsa.iot.spark.examples.SparkJobTest.scala Maven / Gradle / Ivy

The newest version!
package org.dsa.iot.spark.examples

import scala.concurrent.ExecutionContext.Implicits.global

import org.apache.spark.SparkContext
import org.dsa.iot.{ DSAHelper, LinkMode }
import org.dsa.iot.dslink.node.value.ValueType

import rx.lang.scala.Observable

/**
 * A sample Spark batch job using DSA Connector.
 */
object SparkJobTest extends App {

  val connector = createConnector(args)
  val connection = connector start LinkMode.DUAL
  implicit val requester = connection.requester

  protected lazy val sc = new SparkContext("local[*]", "dslink-batch-test")

  val path = "/sys"
  val values = for {
    node <- DSAHelper getNodeChildren path
    path = node.getPath if node.getValueType == ValueType.NUMBER
    value <- Observable.from(DSAHelper.getNodeValue(path))
  } yield value

  val data = values.take(5).toBlocking.toList
  val rdd = sc parallelize data

  rdd foreach println

  Thread.sleep(1000)

  connector.stop
  System.exit(0)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy