实际问题:工作中需要读取一个存放了三四年历史数据的pg数仓表(缺少主键id),需要将数据同步到阿里云 MC中,Spark在使用JDBC读取关系型数据库时,默认只开启一个task去执行,性能低下,因此需要通过设置一些参数来提高并发度。一定要充分理解参数的含义,否则可能会因为配置不当导致数据倾斜!
翻看了网络上好多相关介绍,都沾边。下边总结一下!
您是菜鸟就好好学习,您是大佬欢迎提出修改意见!
一、场景构建
以100行数据为例(实际307983条):
- 创建表
CREATE TABLE IF NOT EXISTS test(
good_id STRING ,
title STRING ,
sellcount BIGINT,
salesamount Double
)COMMENT '测试表'
PARTITIONED BY (
dt STRING COMMENT '分区字段'
);
- 插入数据
insert into test partition (dt = '202001')
values (