1

我試圖在eclipse中使用Apache Spark作業插入數據到Cassandra。我能夠運行我的示例代碼,但面臨着複雜表格設計的問題。在爲cassandra連接器運行spark任務時出錯 - 原因:java.io.IOException:無法將語句寫入test.events

有人可以幫助如何解決這個問題?

Caused by: java.io.IOException: Failed to write statements to test.events. 
    at com.datastax.spark.connector.writer.TableWriter$$anonfun$write$1.apply(TableWriter.scala:167) 
    at com.datastax.spark.connector.writer.TableWriter$$anonfun$write$1.apply(TableWriter.scala:135) 
    at com.datastax.spark.connector.cql.CassandraConnector$$anonfun$withSessionDo$1.apply(CassandraConnector.scala:111) 
    at com.datastax.spark.connector.cql.CassandraConnector$$anonfun$withSessionDo$1.apply(CassandraConnector.scala:110) 
    at com.datastax.spark.connector.cql.CassandraConnector.closeResourceAfterUse(CassandraConnector.scala:140) 
    at com.datastax.spark.connector.cql.CassandraConnector.withSessionDo(CassandraConnector.scala:110) 
    at com.datastax.spark.connector.writer.TableWriter.write(TableWriter.scala:135) 
    at com.datastax.spark.connector.streaming.DStreamFunctions$$anonfun$saveToCassandra$1$$anonfun$apply$1.apply(DStreamFunctions.scala:54) 
    at com.datastax.spark.connector.streaming.DStreamFunctions$$anonfun$saveToCassandra$1$$anonfun$apply$1.apply(DStreamFunctions.scala:54) 
    at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:87) 
    at org.apache.spark.scheduler.Task.run(Task.scala:99) 
    at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:282) 
    ... 3 more 
+0

你可以編輯問題,幷包括你的Scala代碼;也遍歷你的模式。 – PseudoAj

+0

轉到拋出異常並獲取該日誌的執行程序。這只是「失敗的所有嘗試消息」。你需要從源頭上去找機器,並在那裏得到錯誤。 – RussS

+0

我正在eclipse上運行這段代碼,請問可以幫忙告訴我,我在哪裏可以找到執行程序日誌? –

回答

0

先嚐試刪除密鑰,看看是否只有一個密鑰有效。我可以看到你使用的是日期,所以它可以是唯一的,只是嘗試插入一些記錄,如果這不起作用,請參閱日期,如果您使用的日期格式有任何問題,因爲它可以導致你很多問題,我曾經有類似的問題,我檢查了我的日期,不知何故在操作過程中,它成爲12 - 2012年,因爲卡桑德拉拋出錯誤。

如果示例代碼有效,那意味着配置應該沒有任何問題。

相關問題