我想知道是否可以为来自StreamSet的Spark流提供输入。我注意到StreamSets连接器目标https://streamsets.com/connectors/中不支持Spark流。
我正在探索是否有其他方法可以将它们连接到样本POC。
答案 0 :(得分:4)
在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 - >卡夫卡 - > Spark Streaming。