尝试从主节点提交应用程序时遇到了这个错误:
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节点,并从主节点提交应用程序。当我去检查任务/阶段时,我看到了这个错误:
每个人都看过这个错误吗?
答案 0 :(得分:0)
您的应用程序遇到问题,该应用程序将数据写入表中-要么删除大量数据,要么(很可能)作为“普通”插入的一部分插入空值-在这种情况下,生成逻辑删除,并且如果您有很多,则查询开始失败。
您可以做什么:
--conf spark.cassandra.output.ignoreNulls=true
运行作业-这样可以防止写入空值,但是这可能无法很好地覆盖现有数据。如果您使用的是其他驱动程序,请对具有空值的字段使用unset
; gc_grace_period
,但这有其自身的挑战-我建议阅读this article以更好地理解问题。