Spark Streaming - 动态过滤

时间:2016-03-24 00:57:44

标签: filter apache-spark streaming dynamically-generated

我有一个Spark流媒体工作。我想将过滤器应用于我的输入RDD。

我想在每次火花流批处理期间每次从Hbase动态获取过滤条件。

我如何实现这一目标?

我可以使用Map分区创建一次连接对象。

但是在火花过滤器中我如何实现同样的目标?

1 个答案:

答案 0 :(得分:0)

我认为,正确的方法是编写自己的过滤函数(伪代码):

DStream<Integer> intDstream= someIntegerIntoDStream;
intDstream.foreachPartition{
     create HBase connection here if you need it for a batch
     while(arg0.hasNext()){ //here you have an iterator
          Integer current = arg0.next();
          create HBase connection here if you need it for each element
          //Here is your filter function:
          if( current meets your condition )
               arg0.remove();

所以会发生的情况是,您正在执行程序上运行并手动选择每个元素,对其应用条件并在符合条件时将其删除。