2016-10-03 147 views
0

我想在java的火花流媒體程序中使用ConstantInputDStream,但無法這樣做。我做:在java中使用ConstantInputDStream的火花流

  final SparkConf sparkConf2 = new SparkConf().setAppName("NetworkWordCount"); 
      final JavaStreamingContext ssc2 = new JavaStreamingContext(sparkConf2, new Duration(10000)); 
      final List<Integer> data = Arrays.asList(1, 2, 3, 4, 5); 
      JavaRDD<Integer> distData = ssc2.sparkContext().parallelize(data); 
      final JavaDStream<Integer> numStream = new JavaDStream<Integer>(new ConstantInputDStream<Integer>(ssc2, distData)); 

但最後的語句給編譯錯誤:「錯誤:類ConstantInputDStream <‘T’>構造ConstantInputDStream不能應用於給定類型;」

可能是什麼問題,以及如何解決這個問題?

+0

試試這個ConstantInputDStream(SSC2,distData) –

+0

這裏的構造是如何被定義爲每文檔公共ConstantInputDStream(的StreamingContext _ssc, RDD RDD, scala.reflect.ClassTag 證據$ 1) –

回答

0

您需要添加

ClassTag<Integer> classTag = ClassTag$.MODULE$.apply(Integer.class); 
final JavaDStream<Integer> numStream = new JavaDStream<Integer>(new ConstantInputDStream<Integer>(ssc2, distData,classTag));