开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

大佬们有一个join的操作 一直卡在这 我看火焰图显示 都是 rocksdb操作在 占用,有啥

大佬们有一个join的操作 一直卡在这 我看火焰图显示 都是 rocksdb操作在 占用,有啥建议没1872问.png

展开
收起
游客3oewgrzrf6o5c 2022-07-20 17:28:10 392 0
1 条回答
写回答
取消 提交回答
  • 全栈JAVA领域创作者

    如果在Flink中进行join操作时,发现join操作一直卡在rocksdb操作上,可能是因为rocksdb操作占用了大量的内存或者CPU资源,导致join操作无法进行。为了解决这个问题,可以尝试以下建议:

    增加rocksdb的内存配置,例如:
    Copy code
    Configuration config = new Configuration();
    config.setString("fs.rocksdb.path", "/path/to/rocksdb");
    config.setString("fs.rocksdb.max.block.size", "10240000");
    config.setString("fs.rocksdb.max.file.size", "1073741824000000");
    其中,path为rocksdb的文件路径,max.block.size为rocksdb的最大块大小,max.file.size为rocksdb的最大文件大小。可以根据实际情况进行调整。

    减少rocksdb的数据量,例如:
    Copy code
    Configuration config = new Configuration();
    config.setString("fs.rocksdb.path", "/path/to/rocksdb");
    config.setString("fs.rocksdb.max.block.size", "10240000");
    config.setString("fs.rocksdb.max.file.size", "1073741824000000");
    其中,max.block.size和max.file.size的值可以根据实际情况进行调整。这样可以减少rocksdb的数据量,从而提高join操作的效率。

    使用其他的存储引擎,例如:
    Copy code
    Configuration config = new Configuration();
    config.setString("fs.data.file.filename.format", "yyyy-mm-dd_hh-mm-ss");
    config.setString("fs.data.file.filename.extension", "csv");
    config.setString("fs.data.file.filename.format", "yyyy-mm-dd_hh-mm-ss");
    其中,datafile.filename.format为数据文件的格式,datafile.filename.extension为数据文件的扩展名。可以根据实际情况进行调整。

    减少join操作的并行度,例如:
    Copy code
    Configuration config = new Configuration();
    config.setInt("taskmanager.numberOfTaskSlots", 1);
    这样可以减少join操作的并行度,从而减少rocksdb的操作量,提高join操作的效率。需要注意的是,减少join操作的并行度会增加Job的运行时开销,因此需要根据实际情况进行选择。另外,如果使用的是Flink自带的rocksdb解析器,那么需要在Flink Job代码中指定rocksdb解析器的版本,例如:

    Copy code
    Configuration config = new Configuration();
    config.setString("dataformat.rocksdb.version", "5.0.0");
    这样就可以使用rocksdb进行join操作了。

    2023-07-29 20:11:07
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关电子书

更多
图计算优化技术探索 立即下载
用户态高速块缓存方案 立即下载
图计算及其应用 立即下载