2017-05-05 66 views
1

我是新來的火花,不知道如何實現這一點。 關於如何從同一個Spark任務查詢Cassandra和消費者Kafka流的任何想法。基本上,查詢卡桑德拉並按順序消費卡夫卡

  1. 我想查詢cassandra並獲得一些信息,當工作開始。

  2. 然後,繼續並使用卡夫卡。使用我從cassandra獲得的信息來轉換來自kafka的數據。 那麼,如何確保這兩個事件的順序。

回答

1

你可以用spark-cassandra-connector來做到這一點。那就是你將連接和查詢cassandra的代碼與發送數據給kafka的代碼結合起來。 你可以找到用於閱讀和寫入cassandra here的Java工具。要將您的數據發送到kafka,請查看this code的sendToKafka方法。

+0

謝謝,但我仍不確定如何確保按順序發生。基本上,有關數據如何轉換的數據信息來自cassandra。所以我需要以某種方式強制執行該依賴關係,以便spark工作僅在讀取cassandra數據後才應用轉換。 –

+0

我不是很明白我明白你現在面臨的問題。因爲當我查看代碼https://gist.github.com/jacek-lewandowski/278bfc936ca990bee35a上的showResults方法時,我認爲您可以替換System.out.println(result);通過調用此代碼的方法sendToKafka https://github.com/streamlyio/streamly-spark-examples/blob/master/streamly-mqtt-kafka/src/main/java/io/streamly/examples/StreamlyMqttKafka。 java的 – berrytchaks