0

我有2個使用spark-cassandra連接器連接到Cassandra的spark任務。 https://github.com/datastax/spark-cassandra-connector從2個不同的cassandra會話讀取/寫入同一個密鑰空間

第一份工作是使用卡夫卡在Spark中流數據並實時處理。處理完每封郵件後,它將郵件保存到Cassandra。

第二項工作是每10秒鐘從cassandra讀取數據的批處理作業。

因此,一個流式點火作業正在將數據寫入Cassandra密鑰空間,並且一次又一次地部署其他批處理作業以讀取來自SAME鍵空間的數據。我的問題是:

你能從2個spark任務中打開2個會話來讀/寫相同的keyspace嗎?

注意:我也使用相同的用戶名/密碼連接cassandra從這兩個spark工作。

+0

你想要批量作業是累積的還是僅僅是最後10秒? – RussS

+0

我希望它是通用的。 –

回答

0

我找到了解決方案。這個問題與卡桑德拉無關。我的Spark羣集資源非常有限。所有的資源都是由我的流媒體作業完成的。當我部署我的批處理作業時,沒有資源可供分配,我的作業處於等待狀態。一旦其他工作完成,我的批處理作業就能夠運行。

我改變了我的兩個spark工作的配置,使用驅動/執行程序只有1個內核和1 GB內存。現在,我的兩份工作並行運行,沒有任何問題。兩個作業使用相同的用戶名/密碼連接到Cassandra,一個作業正在寫入cassandra,而另一個作業正在從同一個關鍵空間讀取。我的密鑰空間

複製因子爲1

,因爲我的批處理作業被掛,我認爲這個問題必須與卡桑德拉因爲我讀/寫相同的密鑰空間。這是我第一次與cassandra進行交互,因此......

相關問題