在datastax企业中提交Spark应用程序时发生错误

时间:2019-05-07 05:30:02

标签: datastax-enterprise spark-submit

尝试从主节点提交应用程序时遇到了这个错误:
dse -u abc -p abc spark-submit --confpark.cassandra.auth.username = abc --conf spark.cassandra.auth.password = abc --conf spark.debug.maxToStringFields = 10000 --conf spark .executor.memory = 4G app.py

Im使用3个dse分析节点,1个数据中心,4个core / 16gb ram节点,并从主节点提交应用程序。当我去检查任务/阶段时,我看到了这个错误:

enter image description here

每个人都看过这个错误吗?

1 个答案:

答案 0 :(得分:0)

您的应用程序遇到问题,该应用程序将数据写入表中-要么删除大量数据,要么(很可能)作为“普通”插入的一部分插入空值-在这种情况下,生成逻辑删除,并且如果您有很多,则查询开始失败。

您可以做什么:

  • 停止插入null作为数据的一部分。如果您正在使用Spark写入数据,则可以使用--conf spark.cassandra.output.ignoreNulls=true运行作业-这样可以防止写入空值,但是这可能无法很好地覆盖现有数据。如果您使用的是其他驱动程序,请对具有空值的字段使用unset
  • 不按单个列删除数据,而是按行/范围/分区删除
  • 使墓碑更快地消失-如果可以的话,可以使用较低的gc_grace_period,但这有其自身的挑战-我建议阅读this article以更好地理解问题。