對於使用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。這對我的雲遷移來說是個大問題。我有兩個關鍵應用程序只使用一次火花流。 –