flink的applcation model模式和sql client可以一起用吗,如何使用呢,如果不能使用,生产环境pre-job和session模式哪个模式会更好
Flink的Application Model模式和SQL Client可以一起使用。具体来说,Flink提供了sql-client.sh工具,它允许用户在控制台直接编写并提交SQL作业,而无需通过Java或Scala编写Flink作业并打包为jar文件。这种方式主要用于开发环境的调试,而在生产环境中,作业一般会被打成jar文件来运行。
对于生产环境,Flink主要提供了两种部署模式:session模式和per-job模式。session模式是一种基于全局事务的提交方式,适用于一些短作业,而per-job模式则是针对每个作业单独启动一个JobManager进程,更适用于长时间运行的作业。至于哪种模式更好,需要根据具体的应用场景和需求来决定。
Apache Flink 支持多种部署模式,包括 Application Model、Per-Job 和 Session 模式。Application Model 模式是一种新的部署方式,主要解决了 Per-Job 模式中的一些问题,并且目前 Application 模式已经支持 Yarn 和 K8s 的部署方式。Flink 的 SQL Client 可以处理用 SQL 语言编写的查询语句,这些查询需要嵌入用 Java 或 Scala 编写的程序中。
在生产环境中,选择 Pre-job 还是 Session 模式取决于具体的应用场景和需求。如果你需要长时间运行的任务,并且希望任务在出现问题时能够自动恢复,那么 Pre-job 模式可能更适合你。相反,如果你的任务是短周期的或者对实时性有较高要求,那么 Session 模式可能更为合适。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。