本文为您介绍Flink-Vvp的DataStream API和Table API作业开发的限制说明和开发方法。

背景信息

  • Pom依赖的Flink版本需要和EMR集群的Flink版本保持一致。

    例如,EMR集群的Flink版本是1.10-vvr-1.0.2时,Pom需要依赖flink-1.10.x版本。

  • 上传的JAR包中请不要包含Runtime层的类,即Pom中Runtime层的依赖应该使用<scope>provided</scope>
  • 上传的JAR包中请不要包含Hadoop的类,即Pom中Hadoop层的依赖应该使用<scope>provided</scope>,或者使用<exclusion>排除Hadoop的类。
  • 其他第三方依赖请采用Shade方式打包,Shade打包详情参见Apache Maven Shade Plugin

DataStream API或Table API作业开发

  • 限制说明
    由于Flink-Vvp产品受部署环境、网络环境等因素的影响,所以开发的DataStream或Table API作业,需要注意以下限制:
    • 仅支持开源Flink V1.11版本。
    • 仅支持JAR形式的作业提交和运行。
    • 仅支持运行单个JAR形式的作业。
    • 不支持在Main函数中读取本地配置。
    • Flink-Vvp运行环境使用的是JDK1.8,请使用JDK1.8进行作业开发。
  • 作业开发
    您需要在线下完成作业开发后,再在Flink-Vvp控制台上提交作业到集群上运行。您可以参见以下文档开发Flink-Vvp的业务代码:
    • Apache Flink是什么,以及它的体系架构、应用程序和特性功能等,请参见Apache Flink介绍
    • Apache Flink的编码、Java语言、Scala语言、组件和格式等指南,请参见代码风格和质量指南
    • Apache Flink编码过程中遇到的问题及解决方法,请参见常见问题