更新时间:2024-09-18 GMT+08:00
配置多并发客户端连接JDBCServer
操作场景
JDBCServer支持多用户多并发接入,但当并发任务数量较高的时候,默认的JDBCServer配置将无法支持,因此需要进行优化来支持该场景。
操作步骤
- 设置JDBCServer的公平调度策略。
Spark默认使用FIFO(First In First Out)的调度策略,但对于多并发的场景,使用FIFO策略容易导致短任务执行失败。因此在多并发的场景下,需要使用公平调度策略,防止任务执行失败。
- 在Spark中设置公平调度,具体请参考http://archive.apache.org/dist/spark/docs/3.1.1/job-scheduling.html#scheduling-within-an-application。
- 在JDBC客户端中设置公平调度。
- 在BeeLine命令行客户端或者JDBC自定义代码中,执行如下语句,其中PoolName是公平调度的某一个调度池。
SET spark.sql.thriftserver.scheduler.pool=PoolName;
- 执行相应的SQL命令,Spark任务将会在上面的调度池中运行。
- 在BeeLine命令行客户端或者JDBC自定义代码中,执行如下语句,其中PoolName是公平调度的某一个调度池。
- 设置BroadCastHashJoin的超时时间。
父主题: Spark SQL性能调优