2016-01-20 37 views
0

是否有可能从spark中的单个DStream中获取多个DStream? 我的用例如下:我从HDFS文件获取日志数据流。 日志行包含一个id(id = xyz)。 我需要根据ID以不同的方式处理日志行。 所以我试图从输入Dstream的每个ID不同的Dstream。 我找不到任何与文档相关的东西。 有谁知道这是如何在Spark中实现的,或指向任何链接。Spark:从单个DStream中获取多个DStream

感谢

回答

0

不能从单DStreams拆分多个DStreams。 你能做的最好的是: -

  1. 修改您的源系统,为不同的ID的不同的数据流,然后你可以有不同的工作来处理不同的数据流
  2. 如果您的源不能改变,为您提供流这是ID的混合,那么您需要编写自定义逻辑来识别ID,然后执行相应的操作。

我总是比较喜欢#1,因为这是更清洁的解决方案,但也有例外,其中#2需要实施。

+0

谢谢。所以我相信我也不能从基于id的源创建多个数据框? – Alok

+0

我会这样做的方式是 - 首先创建DataFrame,然后根据某些条件过滤DataFrame以创建进一步过滤的数据框或对过滤的数据执行一些操作。 – Sumit