常见错误
too many part
举例:spark写入clickhouse部分task爆出too many part的异常,如下图
虽然作业最终运行成功,但此异常会造成数据不一致
例如:200w条数据通过spark 写入 clickhouse - MergeTree表,导致最终结果为206W条
脏数据原因:spark某个task任务在写入clickhouse时clickhouse抛出异常,造成task作业重试,从而导致相同的数据重复写入【脏数据】,造成数据不一致问题
too many part异常原因:当数据插入到[clickhouse]表时,每一批插入都会生成对应parts文件,clickhouse后台会有合并小文件的操作。当插入速度过快,生成parts小文件过多时,clickhouse无法以适当的速度合并这些parts时会报上面这个错误。
例如spark并发数为2