tispark partition不生效的问题

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

tispark版本2.3.10

**1、使用pyspark运行sparksql的时候,读取tikv,加载数据库数据的时候,出现了partition轮询查询的情况,spark上起了多个partition 并行去查询,但是结预格式化文本果却是一个一个partition串行完成,查询过程过于缓慢这是什么造成的啊?是因为没有正确的走索引么?
2021-03-01 13:15:44.584 - [taskAppId=TASK-17-268-345]:[127] - -> 21/03/01 13:15:43 INFO TaskSetManager: Finished task 33.0 in stage 0.0 (TID 33) in 7257 ms on 10.250.148.34 (executor 7) (4/427) 21/03/01 13:15:44 INFO TaskSetManager: Starting task 44.0 in stage 0.0 (TID 44, 10.250.148.34, executor 7, partition 44, ANY, 12623 bytes) [INFO] 2021-03-01 13:15:46.978 - [taskAppId=TASK-17-268-345]:[127] - -> 21/03/01 13:15:44 INFO TaskSetManager: Finished task 40.0 in stage 0.0 (TID 40) in 2120 ms on 10.250.148.34 (executor 7) (5/427) 21/03/01 13:15:46 INFO TaskSetManager: Starting task 45.0 in stage 0.0 (TID 45, 10.250.148.34, executor 7, partition 45, ANY, 12629 bytes) [INFO] 2021-03-01 13:15:48.241 - [taskAppId=TASK-17-268-345]:[127] - -> 21/03/01 13:15:46 INFO TaskSetManager: Finished task 41.0 in stage 0.0 (TID 41) in 4287 ms on 10.250.148.34 (executor 7) (6/427) 21/03/01 13:15:48 INFO TaskSetManager: Starting task 46.0 in stage 0.0 (TID 46, 10.250.148.34, executor 7, partition 46, ANY, 12647 bytes) [INFO] 2021-03-01 13:15:49.467 - [taskAppId=TASK-17-268-345]:[127] - -> 21/03/01 13:15:48 INFO TaskSetManager: Finished task 42.0 in stage 0.0 (TID 42) in 4821 ms on 10.250.148.34 (executor 7) (7/427) 21/03/01 13:15:49 INFO TaskSetManager: Starting task 47.0 in stage 0.0 (TID 47, 10.250.148.34, executor 7, partition 47, ANY, 12623 bytes) [INFO] 2021-03-01 13:15:50.563 - [taskAppId=TASK-17-268-345]:[127] - -> 21/03/01 13:15:49 INFO TaskSetManager: Finished task 43.0 in stage 0.0 (TID 43) in 5993 ms on 10.250.148.34 (executor 7) (8/427) 21/03/01 13:15:50 INFO TaskSetManager: Starting task 48.0 in stage 0.0 (TID 48, 10.250.148.34, executor 7, partition 48, ANY, 12626 bytes)
**


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

请问spark使用了多少个core?如果只有1个core的话,现象就是一个一个串行执行

不是,我看到了,现在给了4个executor,每个executor 给了2个核,但是现在是集中到一个executor上去了,是不是region划分问题

我这边就使用了最简单的spark = SparkSession \ .builder \ .config("spark.shuffle.consolidateFiles","true")\ .config("spark.default.parallelism",80) \ .appName(”nanann") \ .getOrCreate() ti = pti.TiContext(spark) ,然后执行的spark.sql()命令

问题已经解决,dba把tidb的参数prepared-plan-cache.capacity:
prepared-plan-cache.enabled:
prepared-plan-cache.memory-guard-ratio: 去掉了,重新添加就好了

tispark的执行和tidb参数没有关系,请确认

发现还是不行:sleepy:

并发用不上,虽然现在不是单executor了,但资源利用率还是很低很低

请问运行的是什么sql?能否运行一下 explain $sql,看一下 plan

该问题已经定位到 最近会修复

执行计划在tidb中 expain了是没问题的,我看还走索引了,执行相比较sparksql也能较快执行出来;因为我们集群tikv和tiflash节点数不一样,tikv较tiflash节点多一些,指定tiflash之后使用sparksql 读取数据的时候,region尤其分配的不好,全部都被分到一个partition中去了,但是如果我们指定tikv的时候,会稍微好一些,但是也是分配不均,导致数据读取速度不快。

这个sparksql partition分配读取分区问题会在哪个版本解决,我们到时候抓紧升级一下?

你好 最新的版本已经修复,升级到最新版本就可以。