在阿里云托管 Flink 上,您可以轻松进行批调度。以下是几个主要的步骤:
在Flink中进行批调度,可以通过启用批执行来使用额外的优化。例如,可以使用不同的关联或聚合策略,以实现更高效的任务调度和故障恢复行为的不同洗牌。为了解决这个问题,Flink 1.15中引入了自适应批作业调度器(Adaptive Batch Scheduler)。这种调度器会根据作业运行时每个算子需要处理的实际数据量来自动推导并行度。此外,Flink全托管支持智能调优和定时调优两种调优模式,可以根据运行过程中实际各个节点的数据量自动决定各个逻辑节点的实际并发度,从而保证每个执行并发处理的数据量大致符合用户预期。
托管 Flink 支持批处理任务,有两种方式可供选择:
使用基于 DataStream API 的批处理,通过 setParallelism 方法设置批处理作业的相关参数。
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
env.setParallelism(parallelism);
使用 Table API 的批处理功能,具体配置如下:
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
StreamTableEnvironment tEnv = StreamTableEnvironment.create(env);
tEnv.executeSql("CREATE TEMPORARY SYSTEM CATALOG hive_catalog properties ('hive.metastore.uris'='thrift://host:port') TBLPROPERTIES ('database.default'='default')");
tEnv.sqlUpdate("CREATE TABLE input_table LIKE hive_catalog.my_table");
tEnv.executeSql("INSERT INTO hive_catalog.output_table SELECT * FROM input_table");
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。