在datastax enterprise中提交spark应用时出错

Error when submit spark application in datastax enterprise

我在尝试从主节点提交应用程序时遇到此错误:
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=4Gapp.py

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

大家有没有看到这个bug?

您的应用程序将数据写入您的表时遇到问题 - 它要么删除大量数据,要么(很可能)插入空值作为 "normal" 插入的一部分 - 在本例中为墓碑生成了,如果你有很多,查询开始失败。

你能做什么:

  • 停止将空值作为数据的一部分插入。如果您正在使用 Spark 写入数据,可能 运行 job with --conf spark.cassandra.output.ignoreNulls=true - 这将防止写入空值,但这可能无法很好地覆盖现有数据。如果您使用其他驱动程序,请对具有空值的字段使用 unset
  • 不要按个别列删除数据,而是按rows/ranges/partitions
  • 删除
  • 更快地过期逻辑删除 - 如果可以的话,也许使用较低的 gc_grace_period,但这也带来了自身的挑战 - 我建议阅读 this article 以更好地理解问题。