我們使用Spark Streaming使用createDirectStream從Kafka獲取數據。在創建sparkstreaming上下文後將RDMS數據緩存在spark中
在同一個程序中,我連接到MYSQL以從數據庫獲取一些數據。現在我想用spark來緩存這個結果。
這裏的問題是我在開始時創建了一個Spark Streaming上下文,現在要緩存這個MYSQL數據,我不得不將它轉換爲只能在spark上下文的幫助下才能使用的RDD,不幸的是我無法創建火花上下文(因爲上下文已經根據火花流創建)。
我不想設置spark.driver.allowMultipleContexts = true
以允許JVM使用多於spark的上下文,因爲這可能會導致問題。
有沒有辦法使用spark來緩存,或者我們如何將MYSQL的結果轉換爲RDD?
這個問題的主題太寬泛,無法在這裏回答。試着看看Alluxio(ex.Tachyon) – eliasah
Tachyon在那裏。我只是想知道是否有可能以某種方式創建RDD或使用streamingcontext來緩存它(如果無法創建RDD)。 –
你總是可以使用jdbc格式的dataframe讀取api從mysql中獲取數據,然後你可以用.rdd將它轉換爲RDD [Row],並根據需要使用它 – eliasah