开发者社区> 问答> 正文

flink sql job 提交流程问题

在使用zeppelin提交sql的过程中总是发现超时现象,通过定位发现有如下问题:

1、blob client 和blob server 通信时采用单客户端通行,当有比较多的文件时,比如100个,这个耗时挺大的

2、blob server 虽然有blob.fetch.num-concurrent 进行并发控制,但是blob

server在moveTempFileToStore方法中采用了写锁的方式,当时并发失效。

通过本地测试,简单的调整了代码,示例如下:

BlobServer:

[image: image.png]

ClientUtils

[image: image.png]

调整后通过zeppelin 提交job后,时间由之前的几分钟到现在几十秒,并且不会随着依赖的jar的增加而线性增长。

现有如下疑问:

1、blob server 中的锁的粒度是不是过大?当并行提交多个sql,实际上也只能一个一个的执行。

2、blob server 中moveTempFileToStore 的写锁是否真的必要呢?*来自志愿者整理的flink邮件归档

展开
收起
EXCEED 2021-12-02 15:59:32 508 0
1 条回答
写回答
取消 提交回答
  • 这个问题在ha的情况下非常突出,因为和hdfs的交互式线性的,当文件达到几百的时候,特别慢

    *来自志愿者整理的FLINK邮件归档

    2021-12-02 16:20:33
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server在电子商务中的应用与实践 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载