Linkis 1.4.0 将 Hadoop、Hive、Spark 默认版本修改为 3.x,具体版本分别为 Hadoop 3.3.4、Hive 3.1.3、Spark 3.2.1 。
不同的hive版本的编译,我们只需要指定-D=xxx
就可以了,比如:
mvn clean install package -Dhive.version=2.3.3
不同版本的spark编译,我们也只需要指定-D=xxx
就可以了,常用的使用场景如下:
#spark3+hadoop3 mvn install package #spark3+hadoop2 mvn install package -Phadoop-2.7 #spark2+hadoop2 mvn install package -Pspark-2.4 -Phadoop-2.7 #spark2+ hadoop3 mvn install package -Pspark-2.4
mvn install package
由于默认基础引擎的默认版本升级,spark-3.2
、hadoop-3.3
和spark-2.4-hadoop-3.3
profile被移除,新增profile hadoop-2.7
and spark-2.4
。
spark的子版本可以通过-Dspark.version=xxx
来指定,系统默认使用的 scala 版本为 2.12.17,可适配 spark 3.x 版本 。如需编译 spark 2.x,需要使用 scala 2.11 版本。可通过 -Pspark-2.4 参数,或者 -Dspark.version=2.xx -Dscala.version=2.11.12 -Dscala.binary.version=2.11 编译。
hadoop的子版本可以通过-Dhadoop.version=xxx
来指定
举个例子 :
mvn install package -Pspark-3.2 -Phadoop-3.3 -Dspark.version=3.1.3
编译 hive 2.3.3 版本
编译 hive EC 时默认添加了指定 2.3.3 版本时激活添加 jersey 依赖的 profile,用户可通过指定 -Dhive.version=2.3.3 参数编译
编译其它 hive 2.x 版本
修改 linkis-engineconn-plugins/hive/pom.xml 文件,将 2.3.3 修改为用户编译版本,如 2.1.0
<profile> <id>hive-jersey-dependencies</id> <activation> <property> <name>hive.version</name> <!-- <value>2.3.3</value> --> <value>2.1.0</value> </property> </activation> ... </profile>
编译时添加 -Dhive.version=2.1.0 参数。