apache-spark - 写入 Cassandra 的 Spark 作业在最后阶段挂起
问题描述
我正在使用 Spark 将 2100 万条记录插入到 Cassandra 表中。火花作业大约需要一个小时并成功插入所有记录,但在最后阶段 (62/63) 挂起。
我的 Spark 属性:
spark.driver.memory 10g
spark.executor.cores 1
spark.executor.instances 40
spark.executor.memory 4g
将记录插入 Cassandra 并在最后阶段挂起的行 -
raw_data_final.rdd.saveToCassandra("marketing_dev1", "offer_detail_11", writeConf = WriteConf(ttl = TTLOption.perRow("ttl")))
如何使火花作业成功退出而不在最后阶段挂起?
解决方案
这似乎是一个数据倾斜的问题。请粘贴您的代码以进行进一步分析。
请检查 Cassandra 中是否插入了任何行。我怀疑会有任何插入发生。
除此之外,请提供您的示例数据并检查您是否提供了任何分区列来平均划分数据
推荐阅读
- excel - 使用 vba 插入公式的结果
- angular - 如何以角度将自定义css添加到库组件?
- c# - 从 GridView 的 GridViewColumn 或 GridViewColumn.CellTemplate 获取项目
- c# - 表达式树:字典的 TryGetValue
- php - 在 laravel 中以用户身份登录
- c# - 有没有办法在索引颜色位图(C#)中提取像素的索引?
- android - Android espresso 测试全屏消息
- python - 如何使情节条形图显示堆栈的颜色,而不是迹线
- c++ - gcc中未解决的重载函数类型
- css - 如何在不使用javascript的情况下在css中将带有封面的图像居中