大佬们,请问 Flink SQL 怎么使用 Per-Job 模式提交任务啊?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
Flink SQL 可以使用 Per-Job 模式提交任务,也称为批处理模式。在 Per-Job 模式下,Flink 会将整个作业分为多个批次,并将每个批次作为一个独立的作业提交到 JobManager 上运行。每个批次的输入和输出都是独立的,因此可以使用不同的输入和输出流连接器来处理每个批次的数据。
以下是使用 Per-Job 模式提交 Flink SQL 作业的步骤:
创建作业:使用 Flink SQL 提供的 SQL 编程接口创建作业。
配置作业:配置作业的输入和输出流连接器,以及作业的参数设置。
提交作业:使用 Flink 提供的命令行工具或者 Flink SQL 提供的 API 将作业提交到 JobManager 上运行。
例如,可以使用以下命令将作业提交到 JobManager 上运行:
$FLINK_HOME/bin/flink run -c org.apache.flink.client.cli.CliFrontend ./flink-dist/bin/flink run -m yarn-cluster -yn 2 -ys 2 -yjm 1024 -ytm 1024 -c com.example.PerJobJob ./per-job-job.jar
在这个命令中,-m yarn-cluster 参数指定了使用 YARN 集群作为 JobManager,-yn 2、-ys 2、-yjm 1024 和 -ytm 1024 参数指定了 YARN 集群中的主节点、从节点、JVM 内存和任务管理器内存的数量。-c com.example.PerJobJob 参数指定了作业的入口类。./per-job-job.jar 参数指定了作业的 JAR 文件路径。
总之,使用 Per-Job 模式提交 Flink SQL 作业可以将整个作业分为多个批次,并将每个批次作为一个独立的作业提交到 JobManager 上运行,从而提高作业的并行度和效率。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。