tispark插入200万数据到tidb异常慢

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:

【TiDB 版本】5.0.1

【问题描述】tispark插入200万数据到tidb异常慢

val df = spark.sql("""
select * from test limit 2000000
""")
df.write.
  format("tidb").
  option("tidb.user", "root").
  option("tidb.password", "").
  option("database", "tpch_test").
  option("table", "target_table_orders").
  mode("append").
  save()

以上200万数据耗费了40多分钟,其中没有大字段
通过spark2-submit --master yarn --deploy-mode cluster --num-executors 8 --executor-cores 2 --executor-memory 8G 提交

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

可以先参考下这个帖子排查下 tidb 写入慢的问题:

也是插入200万数据,用SQL方式,也就2分钟多,上面的例子是tispark方式,就是想问下,是否这种方式有问题

1.这边的 tispark 和 spark 版本分别是多少,有和 tidb 混合部署吗?
2.通过 tispark 方式入库时,当时集群负载和直接 SQL 入库时有多少差别?

spark版本:2.3.0
tispark版本:2.4.0
没有和tidb混合部署,spark是在CDH集群上
2.
CDH集群(20台左右),TIDB集群(10台左右)配置都比较高, tispark 方式入库时,与直接 SQL 入库时负载都比较低

如果 tidb 没有写入瓶颈问题,估计任务出现在 spark 侧,可以看下 spark 任务每个阶段的耗时情况。