streaming - 将 Spark 流连接到流集输入

标签 streaming spark-streaming streamsets

我想知道是否可以从 StreamSets 向 Spark Streaming 提供输入。我注意到 StreamSets 连接器目标 https://streamsets.com/connectors/ 中不支持 Spark 流式处理。

我正在探索是否有其他方法可以连接它们以获取示例 POC。

最佳答案

处理来自 Apache Spark Streaming 中的 Streamsets Data Collector (SDC) 的数据的最佳方法是将数据写入 Kafka 主题并从那里读取数据。这允许您将 Spark Streaming 与 SDC 分开,因此两者都可以按照自己的处理速率进行。

SDC 微批处理是定义的记录计数,而 Spark Streaming 微批处理则由时间决定。这意味着每个 SDC 批处理可能不(也可能不会)对应于 Spark Streaming 批处理(很可能 Spark Streaming 批处理可能包含来自多个 SDC 批处理的数据)。一旦将每个批处理发送到目的地,SDC 就会“提交”每个批处理 - 将批处理写入 Spark Streaming 将意味着每个 SDC 批处理需要与 Spark Streaming 批处理相对应,以避免数据丢失。 由于处理或节点故障,Spark Streaming 也有可能“重新处理”已经提交的批处理。 SDC 无法重新处理已提交的批处理 - 因此要从这种情况中恢复,您确实必须编写类似 Kafka 的内容来允许您重新处理批处理。因此,拥有从 SDC 写入 Spark Streaming 的直接连接器会很复杂,并且可能会出现数据丢失问题。

简而言之,您最好的选择是 SDC -> Kafka -> Spark Streaming。

关于streaming - 将 Spark 流连接到流集输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38223606/

相关文章:

objective-c - 如何使用 Objective C 从特定程序中捕获音频?

flash - 包含多个 IP 摄像机流的网页

hadoop - 如何在Spark流中运行并发事件作业以及执行者之间的公平任务调度

java - 如何在 Spark Streaming 中获取当前批处理时间戳

hadoop - 以高吞吐量在 HDFS 上进行流式数据写入

python - AttributeError: 'module' 对象在脚本中没有属性 '_Condition'

python - 在 Jython StreamSets 中导入 python 模块 - ImportError : No module named

javascript - JSON 中的时间序列数据

sql-server - StreamSets Data Collector 能否在目标数据库中自动创建表?

c# - 如何在 C# 中实现 IRandomAccessStream?