Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 反序列化Spark数据流_Java_Complex Event Processing_Spark Streaming_Drools Fusion - Fatal编程技术网

Java 反序列化Spark数据流

Java 反序列化Spark数据流,java,complex-event-processing,spark-streaming,drools-fusion,Java,Complex Event Processing,Spark Streaming,Drools Fusion,我正在尝试使用Spark streaming对流数据应用Drools引擎(Drools Fusion) 但是我无法反序列化JavadStream类型的变量来触发规则 它显示了JavaDstream和Interger之间的比较错误。请建议如何解决此问题。下面是代码 主类 SparkConf conf = new SparkConf().setMaster("local[2]").setAppName("Spark Streaming"); JavaStreamingContext jss

我正在尝试使用Spark streaming对流数据应用Drools引擎(Drools Fusion)

但是我无法反序列化JavadStream类型的变量来触发规则

它显示了JavaDstream和Interger之间的比较错误。请建议如何解决此问题。下面是代码

主类

SparkConf conf = new SparkConf().setMaster("local[2]").setAppName("Spark Streaming");

    JavaStreamingContext jssc = new JavaStreamingContext(conf, new Duration(10000));

    JavaReceiverInputDStream<String> lines = jssc.socketTextStream("localhost", 8089);

    class splitFunc implements Function<String, Long> {
        public Long call(String x) { return Long.parseLong(x); }
        }


     JavaDStream<Long>  in_amount = lines.map(new splitFunc());

     insertEvent(entryPointStoreOne,new Sale(),in_amount);
import org.apache.spark.streaming.api.java.JavaDStream;

public class Sale {

private JavaDStream<Long> amount;

public Sale (){ }

public void setAmount(JavaDStream<Long> amount)
{
    this.amount=amount;
}

public JavaDStream<Long> getAmount()
{
    return amount;
}
declare Sale
@role(event)
end


 rule "Store One - Has Passed its Sales Record"
 when
    $amount : Sale( amount > 1000 ) - FAILING HERE 
    from entry-point StoreOne      
  then
    System.out.println("Store One has passed its Sales Records");
  end