对于使用kafka的Spark流式传输,我们有Directstream,它是无接收器的方法,并映射kafka分区来激发RDD分区。目前,我们有一个应用程序,我们使用Kafka Direct方法并在RDBMS中维护我们的偏移量,接收器减少火花蒸汽的方法
我们有类似的Kinesis吗?当我阅读spark-Kinesis集成的文档时,感觉就像检查点中存在差异。以下是我的一些问题
- 是否使用kinesis流映射kinesis碎片到RDD分区?如果我在传入的RDD上使用forEachPartition,我能否在碎片级别维护有序处理?
- 从文档中可以看出,kinesis在dynamoDB中保持单独的检查点?不能忽略它,并使用我们自己的偏移量管理?
- 在KinesisUtils.createStream api我看到,[初始位置]变量只需要LATEST或TRIM_HORIZON。在那种情况下,我怎么能不能提供碎片地图抵消,因为我在卡夫卡案件提供?
如果我们的应用程序是幂等的,我们如何才能精确地处理一次处理?
感谢您的答复。在那种情况下,kinesis远远超过kafka。这对我的云迁移来说是个大问题。我有两个关键应用程序只使用一次火花流。 –