《企业级云原生白皮书项目实战》——第五章 大数据——5.3 实时计算Flink版——5.3.2 Flink任务开发相关(4): https://developer.aliyun.com/article/1228382?groupCode=supportservice
在这种情况下,推荐的方法是通过maven1shade插件的ServicesResourceTransformer转换META-INF/services目录下的这些资源文件。给定示例的pom.xml文件内容如下,其中包含连接器flflink-sql-connector-hive-3.1.2和flflink-parquet format。
<modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>myProject</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <!-- other project dependencies ...--> <dependency> <groupId>org.apache.flflink</groupId> <artifactId>flflink-sql-connector-hive-3.1.2__2.11</artifactId> <version>1.13.0</version> </dependency> <dependency> <groupId>org.apache.flflink</groupId> <artifactId>flflink-parquet__2.11<</artifactId> <version>1.13.0</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <executions> <execution> <id>shade</id> <phase>package</phase> <goals> <goal>shade</goal> </goals> <confifiguration> <transformers combine.children="append"> <!-- The service transformer is needed to merge META-INF/services fifiles --> <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> <!-- ... --> </transformers> </confifiguration> </execution> </executions> </plugin> </plugins> </build>
在配置了ServicesResourceTransformer之后, 项目构建uber-jar时,META-INF/services目录下的这些资源文件会被整合在一起而不是相互覆盖。
Maven作业模版
强烈建议使用该方式进行配置,可以减少很多重复的配置工作。
前置要求
唯一的环境要求是安装了Maven 3.0.4(或更高版本)和Java 8.x。
创建项目
使用以下两种方式中的一种创建项目:
•使用Maven archetypes
$ mvn archetype:generate \ -DarchetypeGroupId=org.apache.flflink \ -DarchetypeArtifactId=flflink-quickstart-java \ -DarchetypeVersion=1.12.3
这允许您命名新创建的项目。它将以交互方式要求您输入groupId、artifactId和包名。
•运行quickstart脚本
$ curl https://flflink.apache.org/q/quickstart.sh | bash -s 1.12.3
《企业级云原生白皮书项目实战》——第五章 大数据——5.3 实时计算Flink版——5.3.2 Flink任务开发相关(6) https://developer.aliyun.com/article/1228378?groupCode=supportservice