【详述】通过spark connector 导出starrcoks 表时,在修改了参数starrocks.request.tablet.size 之后,spark task 很快会报java.net.SocketTimeoutException: Read timed out,即使调高参数starrocks.request.connect.timeout.ms 和starrocks.request.read.timeout.ms 也没有用。当不修改参数starrocks.request.tablet.size,则在1一个小时以内报java.net.SocketTimeoutException: Read timed out
spark connector 代码如下:
val dorisSparkDF = spark.read.format(“starrocks”).options(Map[String,String](
“starrocks.table.identifier”-> s"${db}.${table}",
“starrocks.fenodes”->“doris1:8034”,
“user”->“root”,
“starrocks.request.query.timeout.s” -> “14400”,
“starrocks.request.connect.timeout.ms” -> “300000”,
“starrocks.request.read.timeout.ms” -> “300000”,
)).load()
dorisSparkDF.write.mode("overwrite").orc(s"/doris_data/${db}/${table}1")
报错信息如下:
报错之后,spark task 任务状态依然为running
在不修改参数starrocks.request.tablet.size的情况下:
【StarRocks版本】2.5.1
【Spark版本】3.0.1
【Starrocks 表数据量】17亿条
【集群规模】例如:3fe(3 follower)+5be(fe与be混部)
【机器信息】CPU虚拟核/内存/网卡,例如:48C/64G/万兆
【表模型】主键模型
【导入或者导出方式】spark
【联系方式】社区群1-微笑,邮箱:shifang9590@163.com
【附件】
其中某个spark excutor 的debug日志如下:
stderr (1.7 MB)