apache-spark - 如何将 Spark DStream 拆分为多个子流

标签 apache-spark stream spark-streaming bigdata

我正在尝试使用 apache spark 流。我有一个数据源,来自 HDFS 的 csv 文件。

我打算用 Spark Stream 做以下事情:

  1. 使用 textFileStream 定期(5 分钟)读取 CSV 文件
  2. 将 DStream 拆分为多个子 dstream。

下面是一个关于需求的简单例子。

我们得到了这种格式的 CSV 文件。

NAME, SCHOOL, GENDER, AGE, SUBJECT, SCORE
USR1, SCH001, male  , 28 , MATH   , 100  
USR2, SCH002, male  , 20 , MATH   , 99
USR1, SCH001, male  , 28 , ENGLISH, 80
USR8, SCHOO8, female, 20 , PHY    , 100

每隔 5 分钟,我读取一个这样的文件,然后我想将这个 Input DStream 拆分成几个 subDStream。每个用户将是一个流。可能吗?

最佳答案

我的意见是,如果您有固定的间隔时间来收集数据,则不需要流媒体功能!当您不知道数据何时到达时,流式传输很有用。 但是,如果您的工作需要计算(实时)用户在一天/一小时/等时间内的(即)累计分数,那么流式传输就是您的解决方案。 问题是:您想要文件上的照片还是多个文件中的胶片?

在 2 个用例中按 USR 分组是不同的,在流式传输的情况下更复杂。您必须考虑对组和窗口/幻灯片参数进行的计算类型。我建议看this

关于apache-spark - 如何将 Spark DStream 拆分为多个子流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35980173/

相关文章:

android - Android HTML5音频播放失败

c - 读取文本文件错误 : strange '\x01' '\0' '\0' '0' sequences

mysql - 星火流MYsql

apache-spark - 跳过 Spark 中的前几行

apache-spark - 如何优化 Apache Spark 应用程序中的 shuffle 溢出

scala - Spark 提供 DataFrame groupBy 中所有列的列表

hadoop - 使用接收器和 WAL 的 Spark Kafka 集成

apache-spark - 发生错误时 Spark Streaming 关闭作业

python - 如何通过 tcp 接收带有线路流的 syslog-ng 日志?

scala - Spark on YARN 和 spark-bigquery 连接器