【问题标题】:How to map two DStreams two one in Spark Streaming?如何在 Spark Streaming 中映射两个 DStreams 二一?
【发布时间】:2016-05-04 09:30:07
【问题描述】:

这可能是一个非常简单的问题,但我在 Spark Streaming API 文档中没有找到任何直接的方法。

假设我有两个这样的 JavaDStream:

JavaDStream<String> stream1;
JavaDStream<String> stream2;

如果我想将这两个中的一个映射到另一个 JavaDStream 字符串,例如,我只是这样做:

 JavaDStream<String> stream1mapping=stream1.map(new Function<String,String>() {
                @Override
                public <String> call(
                        <String> s) throws Exception {
               //do operations on s
               ...
               return new_string;
               }
               });

我现在的问题是,我如何才能使用两个 JavaDstream 而不是一个,作为映射的输入,对两者执行操作,如比较值等,并返回单个 JavaDstream 作为结果?

比如这样的:

 JavaDStream<String> bothstreamsmapping=(stream1 and stream2).map(new Function<String,String>() {
                @Override
                public <String> call(
                        <String> s1, s2) throws Exception {
               //do operations on s1 and s2
               ...
               return s3 //a single string as a result of operating with s1 and s2;
               }
               });

非常感谢。

【问题讨论】:

  • 您通常会为此使用join,但您的流需要具有 (k,v) 格式。在您的用例中,您如何知道哪个 s1 值与 s2 值对应?

标签: apache-spark spark-streaming


【解决方案1】:

【讨论】:

  • 与描述不同,我认为 OP 需要类似“zip”的东西
猜你喜欢
  • 1970-01-01
  • 2019-09-29
  • 2016-10-20
  • 2016-11-18
  • 1970-01-01
  • 2016-12-25
  • 1970-01-01
  • 2016-05-13
  • 1970-01-01
相关资源
最近更新 更多